<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                THINKPHP 常見的問題 碰到問題前先看下官方的問題總結和說明:ThinkPHP5.0學習須知和常見問題集[傳送門](http://www.thinkphp.cn/topic/38624.html) 目前最佳的V5教程是官方的 《?[ThinkPHP5.0快速入門](http://www.hmoore.net/thinkphp/thinkphp5_quickstart)?》 **首先不要帶著3.2版本的思維習慣和定式來理解和使用TP5 ,TP5是一個全新的顛覆重構版本,跨版本發布是經過深思熟慮的結果,不是鬧著玩的,在很多方面TP5對原有的開發模式進行了顛覆,這其中最大的莫過于對模型和數據庫的重構了。從某種意義上來說,如果你不徹底理解5.0的模型用法,那么你將無法正確掌握TP5,就算是你把老項目遷移到5.0上,也不代表你理解5.0的心。?** **重要說明:想要學習和掌握TP5,必先掌握兩個知識:對象和命名空間、對象和命名空間、對象和命名空間,重要事情說三遍。如果你還沒有掌握這兩個,TP5估計與你無緣了** 原有的老版本開發的項目將很難升級到5.0版本,至少從5.0RC3版本開始,這一問題顯得非常的越來越明顯,如果你試圖這么做,那么請確保你有足夠的能力,因為不要指望官方會浪費時間在老版本的兼容和升級上來,我們已經下決心徹底放棄兼容升級的可能,并重新評估哪些方面的不良習慣是需要糾正的。? **如果你有發現問題,請使用最新版本的github版本測試是否依然還有問題,同時官方對反饋問題的修正只是表明我們在github版本庫上已經進行了修正,并不代表下載包會及時更新。同時在線完全開發手冊也是針對最新的版本庫進行同步更新,如發現用法不符,請及時更新到最新的框架版本** 下面是作為一個新手(我們姑且稱之為新手吧~)經常會問到的問題列表,稍加整理,以后會增補:? (更多的常見問題請參考:[ThinkPHP5.0快速入門](http://www.hmoore.net/thinkphp/thinkphp5_quickstart)?->附錄->常見問題集) * **關于老版本升級。tp5改動太大,非實力派和精力派不推薦老版本系統升級。** 1. ### 單字母函數問題 單字母函數目前已被助手函數替換了。從官方的解釋來說,單字母函數已經是時候功成身退了。整個thinkphp5框架進行了重構之后,核心框架不再依賴單字母函數。所以單字母函數消失了。不過可以自行恢復過來,不過推薦盡量不要用了,這個單字母函數一直褒貶不一。盡量看看主流的框架使用吧。? 解決方式: * 使用助手函數來完成單字母函數。 在助手函數里面處理 可以改為單字母函數 參考官方thinkphp5完全開發的文檔 * [http://www.hmoore.net/manual/thinkphp5/144731](http://www.hmoore.net/manual/thinkphp5/144731) 2. ### URL訪問出錯 可能出現問題的原因,THINKPHP5所有訪問均使用pathinfo模式。如果不支持PATHINFO的服務器可以使用兼容模式訪問如下: > [http://serverName/應用入口文件?s=/模塊/控制器/操作/[參數名/參數值...](http://servername/%E5%BA%94%E7%94%A8%E5%85%A5%E5%8F%A3%E6%96%87%E4%BB%B6?s=/%E6%A8%A1%E5%9D%97/%E6%8E%A7%E5%88%B6%E5%99%A8/%E6%93%8D%E4%BD%9C/[%E5%8F%82%E6%95%B0%E5%90%8D/%E5%8F%82%E6%95%B0%E5%80%BC...)] 3. ### 部分模板常量不再存在如`__ROOT__`、`__APP__`、`__SELF__`等 解決方案:自己在config.php 上增加 例如: ~~~ if (!IS_CLI) { // 當前文件名 if (!defined('_PHP_FILE_')) { if (IS_CGI) { //CGI/FASTCGI模式下 $_temp = explode('.php', $_SERVER['PHP_SELF']); define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'], '', $_temp[0] . '.php'), '/')); } else { define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'], '/')); } } if (!defined('__ROOT__')) { $_root = rtrim(dirname(_PHP_FILE_), '/'); define('__ROOT__', (($_root == '/' || $_root == '\\') ? '' : $_root)); } define('PHP_FILE', _PHP_FILE_); } if(!defined('__APP__')) define('__APP__', strip_tags(PHP_FILE)); // URL常量 if(!defined('__SELF__')) define('__SELF__', strip_tags($_SERVER[C('URL_REQUEST_URI')])); ~~~ 參考文檔:THINKPHP5簡明開發文檔?[http://www.hmoore.net/thinkphp/thinkphp5-guide/90317](http://www.hmoore.net/thinkphp/thinkphp5-guide/90317) 4. ### 視圖問題 TP5使用return返回。對API友好,但對視圖不友好。所以this->display();這種是不可以的; 解決方法:視圖繼承think/controller;然后return $this->fetch(); 未繼承think/controller后,return view('index/hello'); 5. ### 模型改動 M函數已取消,進行數據查詢時不用實例化了, > 所有的查詢都是靜態方法實現的如: > Db::table('think_user')->select(); > 如果省略表前綴可以使用? > Db::name('user')->select(); 6. ### 安裝問題 thinkphp5支持composer安裝。作為一個phper,個人覺得非常有必要學習一下composer。 傳送門:[composer備忘錄](http://www.hmoore.net/iwzh/wzhquestion/132015)
                  <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>

                              哎呀哎呀视频在线观看