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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 一、規范前言篇 標準化不是特殊的個人風格,它讓程序員可以了解任何代碼,弄清程序的狀況;新人可以很快的適應環境;防止新接觸php的人一次次的犯同樣的錯誤;在一致的開發環境下,可以減少人們犯錯的機會。 ## 二、命名定義篇 **函數變量命名** 使用英文名詞、動詞,以下劃線作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,例: ~~~ $repeat_count = ''; $del_user_sql = ''; ~~~ **類屬性命名** 使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,不可缺省屬性描述符例如:`public、protect、private` ~~~ /** * 服務端信息 * @var array */ protected $server = []; /** * 數據庫配置 * @var array */ public $dbConfig = []; /** * 路由配置 * @var array */ static public $route = []; ~~~ **全局常量命名** 使用英文名詞、動詞,所有字母都使用大寫,以下劃線分隔每個單詞,例: ~~~ define( 'WEBSITE_NAME', '名稱' ); define( 'WEBSITE_URL', '地址' ); ~~~ **全局變量命名** 使用英文名詞、動詞,所有字母都截取首字母并且為大寫,首個字符以下劃線分割且以下劃線分隔每個單詞,例: ~~~ $_OG = []; $_OGDB = []; ~~~ **數組變量命名** 使用英文名詞、動詞,以下劃線作為單詞的分隔,單詞的首個字母使用小寫,以字符串Array為后綴,例: ~~~ $scope_array = array(); $bookId_array = array(); ~~~ **對象變量命名** 使用英文名詞、動詞,以大寫字母作為單詞的分隔且在后面加上對象的擴展后綴,其他的字母均使用小寫,單詞的首個字母使用大寫,不使用下劃線,例: ~~~ $userModel = new UserModel() $wechatTool = new WechatTool(); ~~~ **靜態方法編寫規范** * 靜態公共方法的命名以下劃線作為每個單詞的分割符。 * 在公共全局方法中為了避免方法重新定義請加上`function_exists`的判斷。 * 每個方法需要寫明注釋并且參考以下格式。 ~~~ if(!function_exists('input')) { /** * 獲取請求參數,類似于tp * @access protected * @param string|false $name 變量名 * @param mixed $default 默認值 * @return mixed */ function input($name = '', $default = null) { global $_GPC; if (empty($_GPC)) { $_GPC = array_merge($_GET,$_POST,$_COOKIE); } return isset($_GPC[$name]) ? $_GPC[$name] : $default; } } ~~~ **類編寫規范** * 目錄使用小寫+下劃線; * 類庫、函數文件統一以`.php`為后綴; * 類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致; * 類文件采用駝峰法命名(首字母大寫),其它文件采用小寫+下劃線命名; * **類名和類文件名保持一致**,統一采用駝峰法命名(首字母大寫); ~~~ // +---------------------------------------------------------------------- // | onegow [ WE CAN DO IT MORE SIMPLE] // +---------------------------------------------------------------------- // | Copyright (c) 2016-2018 http://onegow.com All rights reserved. // +---------------------------------------------------------------------- // | Author: MeYe Email:55585190@qq.com // +---------------------------------------------------------------------- defined('IN_IA') or exit('Access Denied'); class User extends Base { /** * 用戶信息 * @var array */ protected $user = []; /** * 用戶中心首頁 */ public function index() { $this->assign('user',$this->user); return $this->view(); } } ~~~ ## 三、語法書寫篇 **大括號{}規則** 將大括號左邊放在和判斷語句同一列且多一個空格,右邊則放在下方和左邊對齊,例: ~~~ if ( $condition ) { ... } ~~~ **代碼縮進規則** 使用制表符縮進(TAB鍵)或四個空格。如果縮進層數大于四的時候,請重新設計該項業務邏輯的算法。 **小括號()規則** 不要把小括號和關鍵詞、方法名、方法參數緊貼在一起,要用一個空格分隔,例: ~~~ if ( $condition ) { ... } function addAccount( $inputDataArray ) { ... } ~~~ **if .. else ... 規則** ~~~ if ( $condition1 ) { ... } else if ( $condition2 ) { ... } else { ... } ~~~ 盡可能避免以下使用方式,例: ~~~ if ( $condition1 ) ... else ... ~~~ **switch規則** 每個case塊結束處必須加上break,而default總應該存在處理未知情況,例: ~~~ switch( $condition ) { case $value1: ... break; case $value2: ... break; default: ... break; } ~~~ **聲明定位規則** 聲明代碼塊需要對齊,且初次使用變量時需要初始化,例: ~~~ $tableName = ''; $databaseObject = ''; ~~~ 不使用以下方式,例: ~~~ $tableName; $accuntName = ''; $databaseObject = ''; ~~~ **數組定義規則** 數組元素代碼塊需要對齊,例: ~~~ $sqlData = [ 'nickname' => 'MrYe', 'age' => '20', 'height' => '173cm', ]; ~~~ ## 四、其它說明篇 所有類方法必須有返回值,除結果簡單外返回true或者false之外,其它方法應返回不同的值。 不要采用缺省方法測試非零值,必須顯式測試,例: ~~~ if( false != $this->isAjax() ) { } else { } ~~~ 不要使用以下方式,例: ~~~ if( $this->isAjax() ) { } else { } ~~~ 不要使用三元邏輯符 ? :,但對變量的賦值除外,例: ~~~ $_GET['act'] = !empty( $_GET['act'] ) ? $_GET['act'] : 'v_login'; ~~~ * 對于get、post、session、cookie類型變量,必須使用框架內部方法進行定義和調用。 * 盡可能使用單引號''而不是雙引號''。 * 使用完畢后的數組變量、對象變量、查詢集合必須馬上使用unset()、free\_result()釋放資源。 * 一個php文件只能包含一個類定義編碼,以類名稱作為文件名稱。 * 如果發覺您在程序中的命名只有少量能和其對應事物相匹配的話,請重新設計系統。 * 在為類命名前首先要知道它是什么。如果通過類名提供的線索,您還是想不起這個類是什么的話,那么您的設計是做得不夠好。 * 超過三個單詞組成的混合名是容易造成系統各個實體間的混淆,請重新設計類。 * 通常每個方法只執行一項邏輯動作事務,所以對它們的命名應該清楚的說明它們是做什么的:用checkForErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。 ## 五、程序注釋篇 **類的注釋** ~~~ // +---------------------------------------------------------------------- // | onegow [ WE CAN DO IT MORE SIMPLE] // +---------------------------------------------------------------------- // | Copyright (c) 2016-2018 http://onegow.com All rights reserved. // +---------------------------------------------------------------------- // | Author:【作者名稱】 Email:【作者郵箱】 // +---------------------------------------------------------------------- // | 【類的用途】 // +---------------------------------------------------------------------- ~~~ **類方法的注釋** ~~~ /** * 【方法的用途】 * @param integer $id 用戶id * @return array|false|\PDOStatement|string|Model * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ ~~~ **類屬性的注釋** ~~~ /** * 【類屬性的說明】 * @var null */ ~~~ **代碼流程注釋** ~~~ //判斷是否是ajax請求 if( $this->isAjax() ) { } else { } ~~~
                  <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>

                              哎呀哎呀视频在线观看