You are here

7深入掌握了插件机制

admin 的头像
Submitted by admin on 星期一, 2015-09-21 04:12

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

对插件机制的理解,有了更深的认识。以前总觉得,钩子机制,是Drupal核心最本质,最具特色的一个机制,Drupal之所有这么灵活,就是它本身所待的这种钩子机制。其它模块,如果想与Drupal系统交互,只需要实现相应的钩子就可以了。但是钩子机制本身,也是有很大的局限性的,特别是随着Drupal应用的领域越来越广,这种局限性,就越来越明显的暴露出来。钩子机制有哪些局限性呢?所有的钩子实现都需要放到module文件里面,我们知道,每一个页面,都会加载所有的module文件,把所有的钩子代码都放到module文件里面,使得Drupal消耗的内存非常的大,我们很早就讲到了这个问题,在第一集的第一章里面就介绍了这个问题,这在Drupal里面,一直是一个让人头疼的问题。为了解决这个问题,Drupal7里面实现了注册表的机制,在Drupal7的目标里面包含了这个目标,最初的目标是把所有的文件、钩子函数、普通函数、类、接口,都注册一下,当需要一个函数,一个类的时候,再去加载这个函数所在的文件,这个功能最初实现了,运行良好,但是,后来人们发现这个机制和更底层的缓存技术冲突,好像是opcode缓存,没有办法,这个功能又回退了回去,只实现了部分功能,就是类、接口的注册。


Drupal版本: