Perché Drupal non è orientato agli oggetti?


9

Ho appena iniziato a dare un'occhiata ai documenti e alla fonte (Drupal 6 al momento) e ho notato che non ci sono classi da vedere, solo un vasto numero di funzioni con prefisso. È utile? Tale decisione ha un background? Perché?


Perché stai usando Drupal 6? Drupal 8 è in arrivo!
iconoclasta il

Risposte:


14

Questo è abbastanza ben spiegato sulla programmazione Drupal da una prospettiva orientata agli oggetti .

In breve, Drupal esiste da molto più tempo di quanto potresti usare correttamente OOP in PHP. Ciò significa che PHP5 .

Drupal 7 utilizza già le classi internamente in molti luoghi e probabilmente continuerà così con Drupal 8.

Ma questo è un processo graduale e non tutto deve essere una classe. Ad esempio, non ha senso trasformare i moduli in una singola classe.


Drupal 8 sarà molto OOP, includendo molti dei componenti di Symfony2. Ma le API per gli sviluppatori saranno ancora gli hook compatibili con le versioni precedenti, FTMP.
paul-m,

Sarà ancora molto più OOP e il punto sulle API non è corretto. Questo perché le cose non sono ancora completamente convertite. hook_block _ * () appena sostituito dal sistema di plug-in, ad esempio, il routing cambierà, la configurazione cambierà, il sistema entità sarà cambiato, ...
Berdir

@Berdir Sono molto interessato a come sfruttare OOP PHP in Drupal 7 in quanto probabilmente non passerò a Drupal 8 in questo momento. Ci sono alcuni esempi?
Jerome,

5

Drupal è stato creato prima che oo migliorasse in php5. Gli oggetti vengono utilizzati di più in drupal in ogni versione, ma è necessario bilanciare una riscrittura completa e aggiungere nuove funzionalità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.