ectouch第三講之加載調用機制


加載與調用機制:
        當地址欄鍵入/mobile,就會加載入口文件index.php;從入口文件里面會調用EcTouch.php公共入口文件,當進入公共入口文件,會定義一些變量,然后加載公共函數文件Common.php,再加載默認配置和數據庫配置時區的設置等基本功能,然后會調用在Common.php里面的urlRoute()函數,這個函數是在Common.php里面。在調用urlRoute()函數進行網址路由解析解析時,會調用\mobile\include\vendor\Dispatcher.class.php這個文件里面的dispatch()方法進行URL調度,這個方法獲得當前實際的模塊名,控制器和方法名。對獲得的這些模塊名,控制器和方法會在Common.php進行URL的組裝,並最終解析呈現出頁面。 然后實現各個頁面的傳遞與跳轉。最后拋出異常處理。
     default模塊和admin模塊下有着自己的控制器和model,還有數據庫配置文件。
 
加載與調用主要函數及定義如下(縮進為層次關系,縮進指在當前文件下):
調用文件 文件存放位置
1、入口文件   \mobile\index.php
2、調用核心文件     \mobile\include\EcTouch.php
                        define  BASE_PATH \mobile\include\

                  ROOT_PATH \mobile\
                    APP_PATH \mobile\include\apps\
                  ADDONS_PATH \mobile\plugins\
                    DEFAULT_APP                 default
                    DEFAULT_CONTROLLER     Index
                  DEFAULT_ACTION         index

                   加載系統函數       \mobile\include\Common.php
                                        路由解析 urlRoute()

                        生成URL鏈接 url( U())
                        URL組裝 U()
                        URL重定向 redirect()
                        自動加載         \mobile\include\base\model\類名.class.php
                        \mobile\include\base\controller\類名.class.php
                        \mobile\include\apps\模塊名\model\類名.class.php
                        \mobile\include\apps\模塊名\controller\類名.class.php
                        加載配置文件 load_config()
                        C()獲取和設置配置參數、E()異常、L()獲取和設置語言定義、I()獲取輸入參數、
                        session()session管理函數
                        cookie()Cookie 設置、獲取、刪除
                        site_info()站點數據
                        logResult()寫入日志文件

                    默認配置    \mobile\include\Convention.php (包含應用配置、 數據庫配置、模板配置、session參數設置、Cookie參數設置)
              數據庫配置      \mobile\data\config.php
                    define      __HOST__      http://localhost
                                    __ROOT__        \mobile
                                    __URL__             http://localhost/mobile
                                    __PUBLIC__      \mobile\data\common
                                    __ASSETS__  \mobile\data\assets\default
 
 
 
\mobile\include\vendor\Dispatcher.class.php文件主要方法名和變量定義:
獲得實際的控制器名稱getController
獲得實際的操作名稱getAction
獲得實際的模塊名稱getModule
獲取模塊名稱
define('APP_NAME')|C('_APP_NAME')  default
當前應用地址
 define('__APP__', /mobile/index.php
定義控制器和操作名
define('CONTROLLER_NAME') Index
define('ACTION_NAME') index
URL地址
define('__MODULE__'      /mobile/index.php/default 
define('__CONTROLLER__ /mobile/index.php/default/index
define('__ACTION__ /mobile/index.php/default/index/index
define('PHP_FILE', /mobile/index.php
define('__SELF__' /mobile/index.php?m=default&c=index&a=index
待續。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM