PHP头条
热点:

三、编写自己的插件

Dwoo中的一个前大功能是能可以让开发者编写插件,并通过Dwoo的addplugin机制加载自己写的类,现举一个简单例子说明。比如下面的代码,封装了对email的操作:

  1. <?php  
  2. function fix_address(Dwoo $dwoo$str) {  
  3. return str_replace(  
  4. array('@''.''-'),   
  5. array(' at '' dot '' dash '),   
  6. $str 
  7. );  
  8. }  
  9. include 'dwooAutoload.php';  
  10. try {  
  11. $dwoo = new Dwoo();  
  12. $tpl = new Dwoo_Template_File('tmpl/plugin.tpl');  
  13. $dwoo->addPlugin('email_safe''fix_address');  
  14. $data['string']= 'vikram@example.com';  
  15. $dwoo->output($tpl$data);  
  16. } catch (Exception $e) {  
  17. echo "Error: " . $e->getMessage();   
  18. }  
  19. ?> 

在这个例子中,我们想将用户EMAIL中的象@,分隔符等符号用英文替换掉,这样防止象网上机器人等去采集EMAIL,泄露私隐。其中fix_address方法为替换的方法。而通过dwoo中的addPlugin方法,命名一个插件,名字为email_safe,而插件的内容则指定为fix_address方法。在使用这个插件时,可以如下使用,plugin.tpl内容为:

  1. {email_safe($string)} 

下图为输出结果:

shuchujieguo

而另外一种使用dwoo插件的方法为继承Dwoo_Filter abstract class,如下:

  1. <?php  
  2. class Dwoo_Plugin_email_safe extends Dwoo_Plugin  
  3. {   
  4. public function process($email)  
  5. {  
  6. return str_replace(  
  7. array('@''.''-'),   
  8. array(' at '' dot '' dash '),   
  9. $email 
  10. );  
  11. }  
  12. }  
  13. ?> 

如果用这种方式的话,则可以把该文件保存在dwoo目录下的plugins目录下,则dwoo的自动加载机制会自动加载这个插件,而不用每次使用时都使用addplugin的功能。


www.phpzy.comtrue/php/9245.htmlTechArticle三、编写自己的插件 Dwoo中的一个前大功能是能可以让开发者编写插件,并通过Dwoo的addplugin机制加载自己写的类,现举一个简单例子说明。比如下面的代码...

相关文章

相关频道:

PHP之友评论

今天推荐