<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > 官網原文網址:http://www.php-fig.org/psr/psr-1/ > **此規范已被棄用** - 本規范已于2014年10月21日被標記為棄用,目前最新的替代規范為 PSR-4。 本文是為`自動加載器(autoloader)`實現通用自動加載,所需要遵循的編碼規范。 規范說明 --------- * 一個標準的 命名空間(namespace) 與 類(class) 名稱的定義必須符合以下結構: `\<Vendor Name>\(<Namespace>\)*<Class Name>`; * 其中`Vendor Name`為每個命名空間都必須要有的一個頂級命名空間名; * 需要的話,每個命名空間下可以擁有多個子命名空間; * 當根據完整的命名空間名從文件系統中載入類文件時,每個命名空間之間的分隔符都會被轉換成文件夾路徑分隔符; * 類名稱中的每個 `_` 字符也會被轉換成文件夾路徑分隔符,而命名空間中的 `_` 字符則是無特殊含義的。 * 當從文件系統中載入標準的命名空間或類時,都將添加 `.php` 為目標文件后綴; * `組織名稱(Vendor Name)`、`命名空間(Namespace)` 以及 `類的名稱(Class Name)` 可由任意大小寫字母組成。 范例 -------- * `\Doctrine\Common\IsolatedClassLoader` => `/path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php` * `\Symfony\Core\Request` => `/path/to/project/lib/vendor/Symfony/Core/Request.php` * `\Zend\Acl` => `/path/to/project/lib/vendor/Zend/Acl.php` * `\Zend\Mail\Message` => `/path/to/project/lib/vendor/Zend/Mail/Message.php` 命名空間以及類名稱中的下劃線 ----------------------------------------- * `\namespace\package\Class_Name` => `/path/to/project/lib/vendor/namespace/package/Class/Name.php` * `\namespace\package_name\Class_Name` => `/path/to/project/lib/vendor/namespace/package_name/Class/Name.php` 以上是使用通用自動加載必須遵循的最低規范標準, 可通過以下的示例函數 SplClassLoader 載入 PHP 5.3 的類文件,來驗證你所寫的命名空間以及類是否符合以上規范。 實例 ---------------------- 以下示例函數為本規范的一個簡單實現。 ```php <?php function autoload($className) { $className = ltrim($className, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strrpos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; require $fileName; } ``` SplClassLoader 實例 ----------------------------- 以下的 gist 是 一個 SplClassLoader 類文件的實例,如果你遵循了以上規范,可以把它用來載入你的類文件。 這也是目前 PHP 5.3 建議的類文件載入方式。 * [http://gist.github.com/221634](http://gist.github.com/221634)
                  <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>

                              哎呀哎呀视频在线观看