Почему Drupal не ориентирован на объекты?

9

Я только начал заглядывать в документы и исходники (на данный момент Drupal 6) и заметил, что нет классов, которые можно увидеть, только огромное количество префиксных функций. Это удобно? Есть ли такое решение на фоне? Почему?

jayarjo
источник
Почему вы используете Drupal 6? Drupal 8 уже в пути!
иконоборчество

Ответы:

14

Это довольно хорошо объясняется в программировании на Drupal с объектно-ориентированной точки зрения .

Короче говоря, Drupal существует гораздо дольше, чем вы могли бы правильно использовать ООП в PHP. Что означает, PHP5 .

Drupal 7 уже использует классы во многих местах и, вероятно, продолжит работу с Drupal 8.

Но это шаг за шагом, и не все должны быть классом. Например, не имеет смысла объединять модули в один класс.

Berdir
источник
Drupal 8 будет очень ООП, вытягивая многие компоненты Symfony2. Но API для разработчиков все равно будут обратно совместимыми хуками, FTMP.
Paul-M
Это будет намного больше ООП, и точка зрения по поводу API не верна. Это только потому, что вещи еще не полностью преобразованы. hook_block _ * () только что был заменен системой плагинов, например, изменится маршрутизация, изменится конфигурация, изменилась система сущностей, ...
Бердир
@Berdir Мне очень интересно, как использовать ООП PHP в Drupal 7, так как я, вероятно, не буду сейчас переходить на Drupal 8. Есть ли примеры?
Джером
5

Drupal был создан до того, как oo стал лучше в php5. Объекты используются в drupal больше в каждом выпуске, но вам нужно сбалансировать полное переписывание и добавление новых функций.

Люси
источник