PHP教程:插件机制在PHP中实现方案(3)_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP教程:插件机制在PHP中实现方案(3)

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:方案实现插件教程
黑客防线网安网讯:  下面是一个简单插件的实现。    <?    /**    *这是一个HelloWorld简单插件的实现    *    *@packageDEMO    *@subpackageDEMO    *@categoryPlugins   ...
  下面是一个简单插件的实现
  
  <?
  
  /**
  
  *这是一个HelloWorld简单插件的实现
  
  *
  
  *@packageDEMO
  
  *@subpackageDEMO
  
  *@categoryPlugins
  
  *@authorSaturn
  
  *@linkhttp://www.cnsaturn.com/
  
  */
  
  /**
  
  *需要注意的几个默认规则:
  
  *1.本插件类的文件名必须是action
  
  *2.插件类的名称必须是{插件名_actions}
  
  */
  
  classDEMO_actions
  
  {
  
  //解析函数的参数是pluginManager的引用
  
  function__construct(&$pluginManager)
  
  {
  
  //注册这个插件
  
  //第一个参数是钩子的名称
  
  //第二个参数是pluginManager的引用
  
  //第三个是插件所执行的方法
  
  $pluginManager->register('demo',$this,'say_hello');
  
  }
  
  functionsay_hello()
  
  {
  
  echo'HelloWorld';
  
  }
  
  }
  
  ?>
  
  这是一个简单的HelloWorld插件用于输出一句话在实际情况中say_hello可能包括对数据库的操作,或者是其他一些特定的逻辑,比如调用AkimetAPI。
  
  插件实现的默认规则由核心系统开发者自行确定。比如本例的一些默认规则我在注释中已经写的很清楚,在此不在赘述。需要特别注意的是钩子名称不要重复。
  
  最后一步,就是定义钩子的触发,你将钩子放在哪里,上面这个插件的方法就会在哪里出发。比如我要将say_hello放到我博客首页Index.php,那么你在index.php中的某个位置写下:
  
  $pluginManager->trigger('demo','');
  
  第一个参数表示钩子的名字,在本例中它是demo;第二个参数是插件对应方法的入口参数,由于这个例子中没有输入参数,所以为空。
  
  总结
  
  本篇文章介绍了插件机制在PHP中实现的一种方法和思路,以及我本人对插件机制的理解。初次接触这个东西,可能会比较生涩,难以理解。但是当你结合真实的例子,再想想程序的运行流程,思路可能会更清晰一些。
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17601-1.html
网站维护教程更新时间:2012-09-21 05:22:04  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer