为什么Drupal不面向对象?


9

我刚刚开始查看文档和源代码(此刻为Drupal 6),并注意到没有可见的类,只有大量的前缀函数。这方便吗?这样的决定有背景吗?为什么?


为什么要使用Drupal 6?Drupal 8即将发布!
iconoclast 2012年

Answers:


14

从面向对象的角度Drupal编程上对此进行了很好的解释。

简而言之,Drupal的存在时间远远超过了在PHP中正确使用OOP的时间。这意味着,PHP5

Drupal 7已经在很多地方内部使用了类,并且对于Drupal 8可能会继续使用。

但这是一个循序渐进的过程,并非所有内容都需要成为一个类。例如,将模块分成一个类没有任何意义。


Drupal 8将会非常面向对象,它将引入Symfony2的许多组件。但是面向开发人员的API仍然是向后兼容的钩子FTMP。
paul-m

将会有更多的OOP,并且关于API的观点是不正确的。那仅仅是因为事情还没有完全转换。hook_block _ *()刚被插件系统取代,例如,路由将更改,配置将更改,实体系统已更改,...
Berdir 2013年

@Berdir我对如何在Drupal 7中利用OOP PHP非常感兴趣,因为我现在可能不会转向Drupal 8。有一些例子吗?
jerome 2014年

5

Drupal是在oo在php5中变得更好之前创建的。在每个发行版中,对象在drupal中的使用率更高,但是您需要平衡完整的重写和添加新功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.