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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 基本約定 * 源文件 1. 純PHP代碼源文件只使用 <?php 標簽,省略關閉標簽 ?> ; 2. 源文件中PHP代碼的編碼格式必須是無BOM的UTF-8格式; 3. 使用 Unix LF(換行符)作為行結束符; 4. 一個源文件只做一種類型的聲明,即,這個文件專門用來聲明Class, 那個文件專門用來設置配置信息,別混在一起寫; 5. 縮進,使用Tab鍵來縮進,每個Tab鍵長度設置為4個空格; 6. 行,一行推薦的是最多寫120個字符,多于這個字符就應該換行了,一般的編輯器是可以設置的。 7. 關鍵字 和 True/False/Null,PHP的關鍵字,必須小寫,boolean值:true,false,null 也必須小寫。 下面是PHP的“關鍵字”,必須小寫:`__halt_compiler`, `abstract`, `and`, `array`, `as`, `break`, `callable`, `case`, `catch`, `class`, `clone`, `const`, `continue`, `declare`, `default`, `die`, `do`, `echo`, `else`, `elseif`, `empty`, `enddeclare`, `endfor`, `endforeach`, `endif`, `endswitch`, `endwhile`, `eval`, `exit`, `extends`, `final`, `for`, `foreach`, `function`, `global`, `goto`, `if`, `implements`, `include`, `include_once`, `instanceof`, `insteadof`, `interface`, `isset`, `list`, `namespace`, `new`, `or`, `print`, `private`, `protected`, `public`, `require`, `require_once`, `return`, `static`, `switch`, `throw`, `trait`, `try`, `unset`, `use`, `var`, `while`, `xor` 8. 類名使用大駝峰式(StudlyCaps)寫法; 9. (類的)方法名 使用小駝峰(cameCase)寫法; 10. 函數名使用 小寫字母 + 下劃線 寫法,如 function http_send_post(); 11. 變量名 使用小駝峰寫法,如 $userName; 12. 代碼注釋標簽如 函數注釋、變量注釋等,常用標簽有 @package、@var、@param、@return、@author、@todo、@throws 必須遵守 phpDocument 標簽規則,不要另外去創造新的標簽,更多標簽查看 phpDocument官網 13. 涉及到多個數據表 更新/添加 操作時,最外層要用事務,保證數據庫操作的原子性; 14. Model層,只做簡單的數據表的查詢; 15. 控制器只做URL路由,不要當作 業務方法 調用; 16. 控制器層不能出現SQL操作語句,如 ThinkPHP框架的 where()、order() 等模型方法,即,控制器中,不要出現類似這樣的SQL語句:`D('XXX')->where()->order()->limit()->find();` `where()`、`order()`、`limit()` 等SQL方法只能出現在 Model層、業務層! ### 代碼樣式風格 1. 命名空間(Namespace) 和 導入(Use)聲明 2. 命名空間(namespace)的聲明后面必須有一行空行; 3. 所有的導入(use)聲明必須放在命名空間(namespace)聲明的下面; 4. 一句聲明中,必須只有一個導入(use)關鍵字; 5. 在導入(use)聲明代碼塊后面必須有一行空行; ### 類(class),屬性(property)和方法(method) 1. 繼承(extends) 和實現(implement) 必須和 class name 寫在一行。 2. 屬性(property)必須聲明其可見性,到底是 public 還是 protected 還是 private,不能省略,也不能使用var, var是php老版本中的什么方式,等用于public。 3. 方法(method),必須 聲明其可見性,到底是 public 還是 protected 還是 private,不能省略。如果有多個參數,第一個參數后緊接“,” ,再加一個空格:function_name ($par, $par2, $pa3), 如果參數有默認值,“=”左右各有一個空格分開。 4. 當用到抽象(abstract)和終結(final)來做類聲明時,它們必須放在可見性聲明 (public 還是protected還是private)的前面。而當用到靜態(static)來做類聲明時,則必須放在可見性聲明的后面。 ### 控制結構 1. 控制接口,就是 if else while switch等。這一類的寫法規范也是經常容易出現問題的,也要規范一下。 <?php if ($expr1) { // if 與 ( 之間有一個空格,) 與 { 之間有一個空格 } elseif ($expr2) { // elesif 連著寫,與 ( 之間有一個空格,) 與 { 之間有一個空格 } else { // else 左右各一個空格 } 2. switch,case 注意空格和換行,還是直接上規范代碼: <?php switch ($expr) { // switch 與 ( 之間有一個空格,) 與 { 之間有一個空格 case 0: echo 'First case, with a break'; // 對齊 break; // 換行寫break,也對齊。 case 1: echo 'Second case, which falls through'; // no break case 2: case 3: case 4: echo 'Third case, return instead of break'; return; default: echo 'Default case'; break; } 3. while,do while 的寫法也是類似,上代碼: <?php while ($expr) { // while 與 ( 之間有一個空格, ) 與 { 之間有一個空格 } do { // do 與 { 之間有一個空格 } while ($expr); // while 左右各有一個空格 4. for的寫法 <?php for ($i = 0; $i < 10; $i++) { // for 與 ( 之間有一個空格,二元操作符 "="、"<" 左右各有一個空格,) 與 { 之間有一個空格 } 5. foreach的寫法 <?php foreach ($iterable as $key => $value) { // foreach 與 ( 之間有一個空格,"=>" 左右各有一個空格,) 與 { 之間有一個空格 } 6. try catch的寫法 <?php try { // try 右邊有一個空格 } catch (FirstExceptionType $e) { // catch 與 ( 之間有一個空格,) 與 { 之間有一個空格 } catch (OtherExceptionType $e) { // catch 與 ( 之間有一個空格,) 與 { 之間有一個空格 } ### 注釋 1. 行注釋// 后面需要加一個空格;如果 // 前面有非空字符,則 // 前面需要加一個空格; 2. 函數注釋參數名、屬性名、標簽的文本 上下要對齊;在第一個標簽前加一個空行; ### 空格 1. 賦值操作符(=,+= 等)、邏輯操作符(&&,||)、等號操作符(==,!=)、關系運算符(<,>,<=,>=)、按位操作符(&,|,^)、連接符(.) 左右各有一個空格; 2. if,else,elseif,while,do,switch,for,foreach,try,catch,finally 等 與 緊挨的左括號“(”之間有一個空格; 3. 函數、方法的各個參數之間,逗號(",")后面有一個空格; ### 空行 1. 所有左花括號 { 都不換行,并且 { 緊挨著的下方,一定不是空行; 2. 同級代碼(縮進相同)的 注釋(行注釋/塊注釋)前面,必須有一個空行; 3. 各個方法/函數 之間有一個空行; 4. namespace語句、use語句、clase語句 之間有一個空行; 5. return語句,如果 return 語句之前只有一行PHP代碼,return 語句之前不需要空行;如果 return 語句之前有至少二行PHP代碼,return 語句之前加一個空行; 6. if,while,switch,for,foreach、try 等代碼塊之間 以及 與其他代碼之間有一個空行;
                  <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>

                              哎呀哎呀视频在线观看