91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThinkPHP源碼閱讀1-------訪問流程

發布時間:2020-06-25 04:17:48 來源:網絡 閱讀:1354 作者:AndyMac 欄目:web開發

        ThinkPHP訪問流程在手冊1.11系統流程里就有介紹,我閱讀的ThinkPHP的版本是3.1.3,大家可以看下手冊,基本的流程也有,現在就是詳細去介紹一下ThinkPHP的訪問流程.(調試模式下的,在部署模式下,會把中間的URL解析,文件加載之類的,都封裝到一個文件里)

        1.入口文件(index.php)

        入口文件最常見得就是index.php,而在這里可以定義項目名稱,路徑,緩存文件存放路徑之類的.最后要加載Thinkphp/ThinkPHP.php

       指向下一個文件的地方是require 'ThinkPHP/ThinkPHP.php';

        2.ThinkPHP/ThinkPHP.php

        這個文件定義基本的系統目錄常量,框架引擎判斷,以及部署模式和調試模式的判斷

        指向下一個文件的地方是 require THINK_PATH.'Common/runtime.php';

        3.runtime.php(~runtime.php)

        PHP環境判斷,URL定義,項目目錄常量定義,核心文件加載,項目目錄生成.

        指向下一個文件的地方是Think::Start();

        4.Think.class.php

        錯誤方式定義,異常定義,設置自動加載,緩存配置參數,語言參數等

        App::run();

        5.App.class.php

        設置時區,加載動態的項目公共文件和配置文件,一些系統常量的定義,如(IS_POST)等,POST,GET等傳值過濾,

        指向下一個文件的地方是Dispatcher::dispatch();在App.class.php的第38行

        6.Dispatcher.class.php

        URL解析,獲取分組,模塊,操作名,包括URL四種方式的詳細定義,URL路由都在這里定義的.

        解析完成以后回到App.class.php并且執行App.exec

        7.App.class.php   App::exec

        執行應用程序,包括前置和后置操作執行,當前方法執行,以及空模塊判斷,(如IndexAction.class.php等,就會在這里直接執行)

        在執行IndexAction.class.php的時候,有extends繼承Action.class.php

        8.Action.class.php基類

         實例化視圖類 賦值,傳值給View,獲取Action,ajax判斷,這里面的方法很多,值得仔細研究下.

        在調用assign,display,show等方法的時候,會到View中操作.

        9.View.class.php 視圖類

         包括獲取IndexAction.class.php中定義的變量,以及解析模板,輸出模板等功能

       執行下一文件的方法  tag('view_parse',$params);在View.class.php View::fetch的方法中.

       10.  ParseTemplateBehavior.class.php   模板解析

          其實是對緩存的判斷以及對采用哪種模板引擎去解析模板.

       在$tpl = Think::instance('ThinkTemplate');     在第62行

       11. ThinkTemplate.class.php     ThinkPHP的模板解析類

          這里才是真正得模板解析,包括對系統標簽的解析,以及對自定義標簽的判斷,解析完成以后直接放入緩存然后include 


ThinkPHP源碼閱讀1-------訪問流程

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信丰县| 陇南市| 洪江市| 子长县| 喀什市| 彭山县| 嵊州市| 邯郸市| 雷州市| 青阳县| 彩票| 沁阳市| 高邑县| 禹城市| 维西| 五原县| 山东省| 荔浦县| 柘城县| 大足县| 德格县| 宜春市| 南靖县| 兖州市| 东兰县| 连云港市| 鄄城县| 临海市| 社会| 双牌县| 怀柔区| 滕州市| 新竹县| 东平县| 呈贡县| 崇仁县| 元阳县| 遵化市| 东方市| 绥江县| 若羌县|