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


9

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


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

Ответы:


14

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

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

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

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


Drupal 8 будет очень ООП, вытягивая многие компоненты Symfony2. Но API для разработчиков все равно будут обратно совместимыми хуками, FTMP.
Paul-M

Это будет намного больше ООП, и точка зрения по поводу API не верна. Это только потому, что вещи еще не полностью преобразованы. hook_block _ * () только что был заменен системой плагинов, например, изменится маршрутизация, изменится конфигурация, изменилась система сущностей, ...
Бердир

@Berdir Мне очень интересно, как использовать ООП PHP в Drupal 7, так как я, вероятно, не буду сейчас переходить на Drupal 8. Есть ли примеры?
Джером

5

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.