<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                > 插件目錄存放在 `A/exts`文件夾下面 > 安裝插件的時候,把插件文件夾放到此處即可 ## 舉例說明 根據官方安裝包里面的test插件demo來說明 ~~~ test 插件文件夾 ├─class 存放擴展類,該擴展類會被安裝的時候直接復制到FrPHP/Extend下面 ├─controller │ ├─admin 后臺控制器存放位置,安裝的時候直接復制到A/plugins下面 │ └─home 前臺控制器存放位置,安裝的時間直接復制到Home/plugins下面 ├─tpl │ ├─plugins-descripiton.html 插件安裝說明,插件的簡介,使用方法 │ └─plugins-body.html 插件配置文件,自己構造需要存放的參數表單 ├─config.php 插件配置說明文件 ├─PluginsController.php 插件控制器,安裝,卸載,數據處理 ... 更多插件的其他文件,可以自由放置 ~~~ config.php ~~~ return [ 'name'=>'極致插件DEMO',//插件名,必須與插件文件夾名字相同 'desc'=>'這是一個極致插件開發的案例展示',//插件介紹 'author'=>'留戀風2581047041@qq.com',//作者介紹,這里可以把自己的聯系方式帶上去,方便用戶溝通 'version'=>'1.0',//插件版本,默認1.0為最低版本 'update_time'=>'2019-08-14',//插件更新時間,格式:Y-m-d 'module'=>'Home',//插件應用的模塊,Home表示前臺模塊,Admin表示后臺模塊 ]; ~~~ PluginsController.php ~~~ <?php namespace A\exts; use FrPHP\lib\Controller; use FrPHP\Extend\Page; class PluginsController extends Controller { //自動執行 public function _init(){ /** 繼承系統默認配置 **/ //檢查當前賬戶是否合乎操作 if(!isset($_SESSION['admin']) || $_SESSION['admin']['id']==0){ Redirect(U('Login/index')); } if($_SESSION['admin']['isadmin']!=1){ if(strpos($_SESSION['admin']['paction'],','.APP_CONTROLLER.',')!==false){ }else{ $action = APP_CONTROLLER.'/'.APP_ACTION; if(strpos($_SESSION['admin']['paction'],','.$action.',')==false){ $ac = M('Ruler')->find(array('fc'=>$action)); Error('您沒有【'.$ac['name'].'】的權限!',U('Index/index')); } } } $webconf = webConf(); $this->webconf = $webconf; $customconf = get_custom(); $this->customconf = $customconf; //插件模板頁目錄 $this->tpl = '@'.dirname(__FILE__).'/tpl/'; /** 在下面添加自定義操作 **/ } //執行SQL語句在此處處理,或者移動文件也可以在此處理 public function install(){ //檢查是否已安裝該插件,對應的插件文件是否已經存在 //執行SQL,注冊hook(控制器方法覆蓋不需要注冊hook) return true; } //卸載程序,對新增字段、表等進行刪除SQL操作,或者其他操作 public function uninstall(){ //對hook表內注冊的hook進行刪除 return true; } //安裝頁面介紹,操作說明 public function desc(){ $this->display($this->tpl.'plugins-description.html'); } //配置文件,插件相關賬號密碼等操作 public function setconf($plugins){ //將插件賦值到模板中 $this->plugins = $plugins; $this->config = json_decode($plugins['config'],1); $this->display($this->tpl.'plugins-body.html'); } //獲取插件內提交的數據處理 public function setconfigdata($data){ M('plugins')->update(['id'=>$data['id']],['config'=>json_encode($data,JSON_UNESCAPED_UNICODE)]); setCache('hook',null);//清空hook緩存 JsonReturn(['code'=>0,'msg'=>'設置成功!']); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看