Thinkphp3.2 行为扩展和插件(Hook)实例详解

1 添加函数

  1. function hook($hook,$params=array()){
  2.     \Think\Hook::listen($hook,$params);        //监听一个钩子
  3. }

2.在控制器中 Application->Common->Behavior->adBehavior.class.php 添加如下代码

<?php
namespace Common\Behavior;
use Think\Behavior;
class adBehavior extends Behavior {     
    // 行为扩展的执行入口必须是run     
    function run(&$arg){
            echo '我是一条'.$arg['name'].'广告,'.$arg['value'].'代言';
        }
}

 

3 在控制器中 Application->Home->Controller->IndexController.class.php 添加如下代码

  1. namespace Home\Controller;
  2. use Think\Controller;
  3. use Think\Hook;
  4. class IndexController extends Controller {
  5.     public function index(){
  6.    //\Think\Hook::add('ad','Behavior\\adBehavior');
  7.        Hook::add('ad','Common\Behavior\adBehavior');
  8.         $this->display();
  9.     }
  10. }

4模板中使用

<h1>How to used?</h1>

{:hook('ad', array('name'=>'冰箱','value'=>'范冰冰'))}

 

posted @ 2017-06-21 21:27  千牛一刀  阅读(885)  评论(0)    收藏  举报