<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國際加速解決方案。 廣告
                ## MVC 邏輯規范 區別于傳統的MVC模式,對項目的邏輯思想做如下規范: >[danger] Controller層 做調用和頁面渲染,以下簡稱C層 如有公用調用方法,需要繼承類似名為BaseController的來處理 >[danger] Model層 做核心邏輯處理和數據庫操作,以下簡稱M層 如有公用邏輯,需要繼承公共類如名為BaseModel的來處理,BaseModel繼承 底層的Model做數據庫操作 *說明:* *用戶相關的在 `User.php`這個model里面直接查找,無需通過URL一條一條向后找具體的文件是哪一個;* *群組相關的一定是在`Group.php`這個model里面查找。* >[danger] View層 僅處理頁面顯示和引入靜態文件,以下簡稱V層 不做復雜的數據操作 >[danger] 靜態文件處理 JS、CSS文件需要統一放到一個地方,view層視圖文件分別引入 如有必要,請考慮加載速度,以CDN加速來處理的方式,需要在 靜態文件前加入 cdn 地址 ## 簡單示意圖如下 ![](https://box.kancloud.cn/d1feaec73eddc7d2835d7a61bee8828c_982x520.png) 以下為 IM3.0項目 示例代碼: <?php namespace app\common\model; // 前后必須要有空行 use think\Model;// 前后必須要有空行 class App extends Model // 大括號換行寫 { // 自定義 表主鍵 protected $pk = 'id'; // 自動義 表名 protected $name = 'app'; // 設置JSON類型字段 protected $json = ['configs']; /** * * Notes: 應用綁定管理員,一對一從屬關系 * 即,一個應用屬于某一個管理員,一個管理員只有一個應用 * * @return \think\model\relation\HasOne */ public function admin() { return $this->belongsTo('Admin', 'aid'); } /** * * Notes:應用綁定版本,從屬關系, * 即:一個應用屬于某一個版本,版本不能新增,但可以修改 * * @return \think\model\relation\BelongsTo */ public function version() { return $this->belongsTo('ImVersion', 'aid', 'aid'); } /** * * Notes:保存/修改應用數據 * * @param array $arr * * @return \app\common\model\App|bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function config($arr = []) { /*老板寫的好簡單明了*/ $aid = $arr['uid']; $data = ['aid' => $aid,] + $arr; // 追加數組的寫法 if (self::where('aid', $aid)->find()) { unset($data['aid']); // 釋放內存 return self::where('aid', $aid)->update($data); // 更新數據 } else { return (new self)->save($data); // 保存數據 } } /** * * Notes:獲取 下拉多選 框的應用列表 * * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function getList() { // 先查詢 應用列表 數據 $apps = self::field(true)->select(); // 初始化返回數據為一個數組 $data = []; // 遍歷取值往data里追加數據,id和域名名稱 foreach ($apps as $v) { $data[] = [ "name" => $v->domain, "value" => $v->id, "selected" => "", "disabled" => "" ]; } // 返回數據 return $data; } 控制器中直接調用config的代碼。 注意model層中的代碼方法一定是`public` 類型。 通過 facade 實現靜態調用 定義門面類: <?php namespace app\facade; use think\Facade; class App extends Facade { protected static function getFacadeClass() { return 'app\common\model\App'; } } 控制層調用方法如: use app\facade\App; $data = []; App::config($data); 定義關聯關系 : 從屬關系 namespace app\common\model; use think\Model; class BackList extends Model { protected $pk = 'id'; protected $table = 'blacklist'; // 定義相對關聯 public function user() { return $this->belongsTo('User'); } } model層的業務邏輯如: >[danger] 如數據庫操作支持表關聯,請定義好表與表之間的關聯關系。查尋可通過關聯直接獲取數據。
                  <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>

                              哎呀哎呀视频在线观看