zoukankan      html  css  js  c++  java
  • thinkphp 插件控制器

    3.2.2版本开始支持插件控制器的调用,可以通过更加方便的URL地址访问到模块中的插件定义的控制器。

    当URL中传入插件控制器变量的时候,会自动定位到插件控制器中的操作方法。

    大理石平台精度等级

    插件控制器的变量由参数 VAR_ADDON 进行设置,默认为addon,例如我们在URL中传入: http://serverName/Home/info/index/addon/SystemInfo

    由于传入了addon参数,因此这里的Info控制器并非原来的 Home/Controller/InfoController.class.php

    而是调用SystemInfo插件(位于Home/Addon目录下面)的InfoController控制器了,文件位于 Home/Addon/SystemInfo/Controller/InfoController.class.php

    插件控制器本身的定义和普通的访问控制器一样,例如:

    1. namespace HomeAddonSystemInfoController;
    2. class InfoController extends ThinkController{
    3. public function index(){
    4. echo 'Addon SystemInfo';
    5. }
    6. }

    这样,我们在访问http://serverName/Home/info/index/addon/SystemInfo的时候 就会输出 Addon SystemInfo

    如果我们的插件目录不是Addon,而是Plugin,那么需要在配置文件中定义:

    1. 'VAR_ADDON' => 'plugin'

    然后访问URL地址就变成了 http://serverName/Home/info/index/plugin/SystemInfo

    注意:目前插件控制器仅支持模块的插件控制器访问,尚不支持全局的公共插件。

    3.2.3版本开始,插件控制器默认和模块同级,并增加ADDON_PATH常量用于定义插件控制器的目录,并且以目录名作为插件控制器的命名空间根,同样,假如我们在URL中传入:http://serverName/Home/info/index/addon/SystemInfo

    3.2.3版本中,实际访问的插件控制器是 Addon/SystemInfo/Controller/InfoController.class.php

    插件控制器的定义如下:

    1. namespace AddonSystemInfoController;
    2. class InfoController extends ThinkController{
    3. public function index(){
    4. echo 'Addon SystemInfo';
    5. }
    6. }

    默认情况下,插件控制器的根目录位于和模块同级的Addon目录下面,如果需要更改插件控制器的目录,可以定义ADDON_PATH常量,例如:

    1. define('ADDON_PATH', APP_PATH.'Common/Addon');

    并且在项目配置文件中使用AUTOLOAD_NAMESPACE参数重新定义Addon的命名空间路径,例如:

    1. 'AUTOLOAD_NAMESPACE'=>array(
    2. 'Addon'=> APP_PATH.'Common/Addon',
    3. )
     
  • 相关阅读:
    C# 操作Excel
    分享C#原生ID(流水号)生成功能实现
    Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的解决办法
    c# 软件自动在线更新代码
    Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的另一解决办法
    ActiveX控件的另类免费签名法(补充)
    ActiveX控件的另类免费签名法
    常用函数以及正则校验
    Delphi键盘按键伪码
    格林治时间
  • 原文地址:https://www.cnblogs.com/furuihua/p/11782881.html
Copyright © 2011-2022 走看看