Thinkphp3.23中 行为扩展和插件机制介绍

    xiaoxiao2026-03-16  8

    行为(Behavior)是ThinkPHP扩展机制中比较关键的一项扩展,行为既可以独立调用,也可以绑定到某个标签(位)中进行侦听。 3.2版里,有了一个插件的概念,和行为共用一个Hook类,所以放在一起说,原理上并无太大区别。

    1.行为扩展和插件机制 配置的方法 (大同小异)

    ⑴行为扩展 

    在Application/Common/Conf目录下创建一个tags.php 

    <?php /** * Created by PhpStorm. * User: Administrator * Date: 16-8-16 * Time: 上午10:08 */ return array( "login" => array("Behaviors\\testBehavior"),//行为 );⑵插件机制

    在Application/Common/Conf目录下创建一个tags.php 

    <?php /** * Created by PhpStorm. * User: Administrator * Date: 16-8-16 * Time: 上午10:08 */ return array( 'showflash' => array('Addons\\test\\testAddon'),//插件 'clearflash'=>array('Addons\\test\\testAddon'),//另一个插件插件 ); 2.创建类

    ⑴行为类创建 在Application/Behaviors/testBehavior.class.php

    <?php /** * Created by PhpStorm. * User: Administrator * Date: 16-8-16 * Time: 上午10:12 */ namespace Behaviors; class testBehavior { function run($arg){ echo "this is a Behaviors ".$arg; } } ⑵插件类创建 在 Application/Addons/test/testAddon.class.php

    <?php /** * Created by PhpStorm. * User: Administrator * Date: 16-8-16 * Time: 上午10:42 */ namespace Addons\test; class testAddon { function showflash(){ echo "这是插件执行入口"; } function clearflash(){ echo "这是另外一个插件钩子入口"; } }

    3.触发监听的方法

    ⑴行为扩展

    $usernam="junxy"; \Think\Hook::listen('login',$usernam);//监听一个名为login的钩子 ⑵插件机制

    \Think\Hook::listen('showflash');//监听一个名为showflash的钩子 \Think\Hook::listen('clearflash');//监听一个名为clearflash的钩子

    转载请注明原文地址: https://ju.6miu.com/read-1308026.html
    最新回复(0)