<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                在模型里邊的鉤子創建與使用方法跟在控制器里邊的鉤子創建及使用方法是有所區別的 在模型里邊創建的鉤子,你可以理解為執行一個函數,是無法調用模型里邊的類的方法及屬性的。 比如系統文件`\application\common\model\Order.php` 里邊的這段代碼如下 ~~~ protected static function success_pay($order_info=[]){ //客戶扣款 add_rmb($order_info['uid'],-abs($order_info['pay_money']),0,'購物消費'); //商家入帳 add_rmb($order_info['shop_uid'],abs($order_info['pay_money']),0,'銷售商品'); static::send_msg($order_info); get_hook('order_have_pay',$data=[],$order_info,$array=['dirname'=>self::$model_key],$use_common=true,self::$model_key); //鉤子擴展 } ~~~ 這個方法是用戶 支付訂單款后執行的操作。里邊埋了一個鉤子。 其中`get_hook`就是鉤子函數,所以他是不能使用類里邊的方法與屬性的。 這里有一個很特殊的地方,就是增加了第6項參數,指定了當前的頻道目錄名 `$dirname`目的是為了避免此模型被其它地方頻道或模型調用的時候,無法真實的獲取到當前所在頻道目錄的問題。 同時也給第4項參數 `,$array=['dirname'=>self::$model_key]` 特別傳遞了目錄名,方便后面的調用。 上述就是預埋鉤子的注意事項。 下面再給出一段代碼,講解如何使用模型鉤子。 你可以創建文件 `\application\shop\ext\order_have_pay\give_jifen.php` 其中 `order_have_pay`就是鉤子標志,`give_jifen.php` 功能文件名可以隨意的。 其中文件是放在`\application\shop\ext\`這個目錄里,代表只能是商城目錄調用。如果要其它頻道也可以調用的話,就需要換成 `\application\common\ext\`系統目錄 文件里邊的具體代碼如下 ~~~ <?php $uid = $info['uid']; //$info 是訂單信息 $webdb = config('webdb.M__'.$array['dirname']); //頻道參數 $num = isset($webdb['give_jifen'])?$webdb['give_jifen']:2; //頻道設置了贈與積分,就能頻道的為標準 if ($num>0) { add_jifen($uid,2,'購買商品贈送積分'); } ~~~ 其中 `$info`及 `$array`兩個變量都是通過函數傳進來的。 這里要操作數據庫的話,只能用引用 ~~~ use think\Db; ~~~ 直接操作數據庫
                  <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>

                              哎呀哎呀视频在线观看