加载与调用机制:
当地址栏键入/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
待续。。。