|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于PHP的语法结构,刚开始真的很不习惯,真搞不懂为什么每个变量之前都要加个“$”符号,每个语句写完之后都必须加上“分号”来表示此句已经结束,还有,PHP对字母的大小写是敏感的,写的时候一定要注意大小写的区别。 </p> 这篇文章的起点是我对插件机制的了解,及其在PHP中的完成。此计划仅是插件机制在PHP中的完成计划之一,写上去和人人分享,接待人人一同会商。
插件,亦即Plug-in,是指一类特定的功效模块(凡是由第三方开辟者完成),它的特色是:当你需求它的时分激活它,不需求它的时分禁用/删除它;且不管是激活仍是禁用都不影响体系中心模块的运转,也就是说插件是一种非侵入式的模块化设计,完成了中心法式与插件法式的松懈耦合。一个典范的例子就是Wordpress中浩瀚的第三方插件,好比Akimet插件用于对用户的评论停止Spam过滤。
一个强健的插件机制,我以为必需具有以下特色:
- 插件的静态监听和加载(Lookup)
- 插件的静态触发
- 以上两点的完成均不影响中心法式的运转
要在法式中完成插件,咱们起首应当想到的就是界说分歧的钩子(Hooks);“钩子”是一个很抽象的逻辑概念,你可以以为它是体系预留的插件触发前提。它的逻辑道理以下:当体系履行到某个钩子时,会判别这个钩子的前提是不是知足;假如知足,会转而先去挪用钩子所制订的功效,然后前往持续履行余下的法式;假如不知足,跳过便可。这有点像汇编中的“中止回护”逻辑。
某些钩子多是体系事前就设计好的,好比之前我举的关于评论Spam过滤的钩子,凡是它已由中心体系开辟人员设计进了评论的处置逻辑中;别的一类钩子则多是由用户自行定制的(由第三方开辟人员制订),凡是存在于体现层,好比一个通俗的PHP表单显示页面中。
能够你感到下面的话对照无聊,让人昏昏欲睡;然而要看懂上面我写的代码,了解以上的道理是必不成少的。
上面停止PHP中插件机制的中心完成,全部机制中心分为三大块:
- 一个插件司理类:这是中心之中心。它是一个使用法式全局Global对象。它次要有三个职责:
- 担任监听已注册了的一切插件,并实例化这些插件对象。
- 担任注册一切插件。
- 当钩子前提知足时,触发对应的对象办法。
- 插件的功效完成:这大多由第三方开辟人员完成,但需求遵守必定的划定规矩,这个划定规矩是插件机制所划定的,因插件机制的分歧而分歧,上面的显示代码你会看到这个划定规矩。
- 插件的触发:也就是钩子的触发前提。详细来讲这是一小段代码,放置在你需求插件完成的中央,用于触发这个钩子。
<p>基础这个东西,有人问学php需要任何基础不? |
|