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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 編碼規范 ## 編碼規范 XiunoPHP 提倡 Linux 的編碼風格(小寫 + 下劃線),與 PHP 默認的命名風格保持一致,但如果您喜歡匈牙利和駱駝也沒有關系。 ### 1. 變量名,函數名全部為: 小寫 + 下劃線,比如: ``` <pre class="calibre11">``` <?php $uid = 0; $username = ''; mysql_connect(); mysql_query(); mysql_fetch_assoc(); ?> ``` ``` ### 2. 常量全部大寫: ``` <pre class="calibre11">``` <?php define('DEBUG', 1); // 1: 開發模式, 2: 線上調試:日志記錄,0: 關閉 define('APP_NAME', 'www'); ?> ``` ``` ### 3. 空格,縮進,換行,參考以下格式: 一個 TAB = 8 個空格,盡量減少 TAB 縮進。 ``` <pre class="calibre11">``` <?php function array_addslashes(&$var) { if(is_array($var)) { foreach($var as $k=>&$v) { array_addslashes($v); } } else { $var = addslashes($var); } return $var; } ?> ``` ``` ### 4. 單引號、雙引號: 在PHP 當中,盡量使用單引號,解析速度比雙引號快。 如果里面包含變量,為了代碼的美觀,可以使用雙引號。 在雙引號中的數組 key 不應該加單引號。 在單引號中僅僅轉義 \\,其他字符都不轉義,如 \\t\\r\\n $。 以下為正確用例: ``` <pre class="calibre11">``` <?php $sitename = '我在北京吸霧霾'; $info = "站點名稱:$sitename"; $info = "用戶名:$user[name]"; ?> ``` ``` ### 5. 類、繼承、接口、構造、析構、魔術方法: 盡量不要使用 PHP 高級特性。 高級特性往往不利于底層的優化,需要更多的學習和溝通成本。 比如 **get()** set() \_\_call() 會讓代碼變得很難讀,IDE 提示也不友好。 不是剛需,不要用。 ### 6. 正則表達式: 盡量使用單引號,分隔符為 # 。 禁止使用 e 修飾符,如果剛需,請使用 preg\_replace*callback() 代替。 盡量使用 \\w \\s \\S 內置的表示方法,不要啰嗦的去寫 \[0-9a-zA-Z*\] 。 為什么不用 / 作為分隔符? 因為 WEB 開發過程中,字符串中出現 / 的概率太高。 以下正則格式符合標準: preg\_match('#\\w+@\\w+.\\w+#is', $email); ### 7. include include\_once require require\_once: 盡量使用 include,速度快,并且不會中斷業務邏輯。 require 在文件不存在或不可讀的時候,會暴力終止業務邏輯。 ### 8. error\_reporting: 在本地開發環境下使用,使用 E\_ALL,消滅所有 NOTICE。 線上環境使用 0,并且配置 php.ini error\_log 記錄到服務器日志,避免錯誤信息外泄。 ### 9. 模板: 不要用 Smarty 等任何類型的模板“引擎”,他們不時真正意義上的引擎,只是一堆正則替換而已。而且效率低下,學習的時間成本高,浪費腦細胞。 直接使用 PHP 的 原生標簽,比如: ``` <pre class="calibre11">``` <?php include "./view/htm/header.inc.htm"; ?> Hello, <?php echo $username; ?>! <?php include "./view/htm/footer.inc.htm"; ?> ``` ``` ### 10. 目錄約定: 為了便于部署和排查,約定以下目錄用途(非強制): ``` <pre class="calibre11">``` Web 目錄:/home/wwwroot/xxx.com Web 日志:/home/wwwlog MySQL 數據:/home/mysql 備份目錄:/home/backup Nginx 配置文件:/usr/local/nginx/conf/nginx.conf MySQL 配置文件:/etc/my.cnf PHP 配置文件:/usr/local/php/etc/php.ini PHP-CGI 配置文件:/usr/local/php/etc/php-fpm.conf ``` ``` ### 11. 生產環境推薦: CentOS + PHP7 + MySQL 5+ Opcache + Yac
                  <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>

                              哎呀哎呀视频在线观看