<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 程序目錄結構 SpeedPHP框架的目錄結構比較簡單,秉承了SpeedPHP快速學習的理念。 新版的sp框架,由于加入了mudules開發模式,所以在目錄結構方面,趨于更精煉,更固定化。 > 3.1版及之前的sp框架,目錄結構是可以通過配置進行修改。 > 但是新版的情況不一樣了。 之所以我們要用固定的目錄結構,理由如下: - 加入mudules開發模式,使得多個應用可以集成到一個程序里面,也就是傳統的模塊開發。所以已經不需要因為多應用共享類庫而需要改變目錄結構。 - 新的目錄結構更安全,但是如果能隨意修改結構,那么安全很難保證。 - 為了配合框架本身更精簡的理念,讓加載文件變得更少,更快速。 - “約定優于配置”的敏捷理念,讓團隊成員可以更容易理解各文件所在位置和意義,更容易上手和交接現有程序。 新的結構加入了protected目錄,意為“保護目錄”。除了入口文件(index.php)外,其他代碼文件(包括模板.html)都應該放在protected目錄下,以便統一保護起來,拒絕外部瀏覽訪問,杜絕安全問題。 > 在3.1版的框架程序的實踐中,經常有初學者頁面上直接用鏈接來訪問模板目錄(tpl/view目錄)下的.html文件,這是有安全隱患的。因為在模板目錄下的.html,雖然擴展名是html,但實際上已經算是可執行的php程序的一部分。通過瀏覽器訪問時,這些html文件可以被看到到源碼——也相當于php代碼被公開了。 > 臨時文件目錄tmp有時也會有一定的安全隱患,這是一個能被上傳文件的目錄。如果服務器沒有配置該目錄禁止執行php程序的權限,或者上傳的文件不經過嚴格的過濾,那么通過瀏覽器也可以執行這些危險的php程序。 新版的protected目錄自帶了apache服務器的.htaccess文件,可以保護當前目錄的訪問。如果您的服務器是nginx,可以在nginx配置內加入 location ^~ /protected { deny all; } > .htaccess文件如果不生效,那么可能是apache配置問題。請自行搜索解決。 > nginx配置上面的目錄,如果是子目錄內,請根據實際情況修改。 #### 既定的目錄結構 **控制器目錄,protected/controller** - 控制器目錄下應該全部都是控制器文件,如MainController.php. - 控制器目錄下可以有下一級子目錄,每個子目錄代表一個modules模塊。 **框架目錄,protected/lib** 主要是框架主文件,speed.php文件。 > 對比3.1版框架,現在的sp框架已經精簡到一個文件內,以便更容易載入并且占用更少資源。 > 一個文件的框架在APC等opcode編譯緩存的環境下,有更良好的速度。 **臨時文件目錄,protected/tmp** 保存緩存文件、模板編譯文件、程序上傳臨時文件等的臨時文件目錄。 **模板目錄,protected/view** 模板頁面的存放目錄。 該目錄也可以有子目錄,子目錄通過display方法以view目錄作為根路徑方式載入。 **模型類庫目錄,protected/model** 該目錄可以存放數據模型類,也可以存放其他第三方類庫。 **類庫目錄,protected/include** 同model目錄,但載入優先級比model目錄要低。可以存放不太常用的第三方類庫。 > 默認情況下,include目錄需要用戶自己創建。
                  <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>

                              哎呀哎呀视频在线观看