使用说明

CmlPHP中插件的实现通过钩子来实现,模板中使用{{hook test}}设定一个名称为test的插件钩子,在程序中可使用\Cml\Plugin::hook('test');设定一个名称为test的插件钩子,当程序执行到设置hook的位置时,如果有插件挂载到这个钩子,执行该插件,一个钩子可以绑定多个插件.

CmlPHP中的插件信息通过plugin.php这个插件配置文件来配置,如:

  1. <?php
  2. //应用插件配置文件
  3. // \Cml\Plugin::mount('hookName'/*要挂载的钩子*/, array(
  4. // 'ClassName' => 'run', //该hook执行的插件名 =>方法名
  5. // 'ClassName2' => 'run' //一个hook可挂载多个插件
  6. // ));
  7. //我们就在test这个钩子上挂载了两个插件

插件存放在应用目录/Plugins目录中 插件文件的命名规则为 插件名Plugin.php如:我们定义一个名为Test的插件TestPlugin.php插件内容:

  1. <?php
  2. /**
  3. * 测试插件
  4. *
  5. */
  6. class TestPlugin {
  7. public function run() {
  8. echo '测试插件';
  9. }
  10. }

在相应的位置使用 {{hook xxx}}Cml\Plugin::hook(xxx) 设置钩子,在配置中挂载上Test插件的run方法即可

原文: http://doc.cmlphp.com/devintro/plugin/use.html