• ectouch第三讲之加载调用机制


    加载与调用机制:
            当地址栏键入/mobile,就会加载入口文件index.php;从入口文件里面会调用EcTouch.php公共入口文件,当进入公共入口文件,会定义一些变量,然后加载公共函数文件Common.php,再加载默认配置和数据库配置时区的设置等基本功能,然后会调用在Common.php里面的urlRoute()函数,这个函数是在Common.php里面。在调用urlRoute()函数进行网址路由解析解析时,会调用mobileincludevendorDispatcher.class.php这个文件里面的dispatch()方法进行URL调度,这个方法获得当前实际的模块名,控制器和方法名。对获得的这些模块名,控制器和方法会在Common.php进行URL的组装,并最终解析呈现出页面。 然后实现各个页面的传递与跳转。最后抛出异常处理。
         default模块和admin模块下有着自己的控制器和model,还有数据库配置文件。
     
    加载与调用主要函数及定义如下(缩进为层次关系,缩进指在当前文件下):
    调用文件 文件存放位置
    1、入口文件   mobileindex.php
    2、调用核心文件     mobileincludeEcTouch.php
                            define  BASE_PATH mobileinclude

                      ROOT_PATH mobile
                        APP_PATH mobileincludeapps
                      ADDONS_PATH mobileplugins
                        DEFAULT_APP                 default
                        DEFAULT_CONTROLLER     Index
                      DEFAULT_ACTION         index

                       加载系统函数       mobileincludeCommon.php
                                            路由解析 urlRoute()

                            生成URL链接 url( U())
                            URL组装 U()
                            URL重定向 redirect()
                            自动加载         mobileincludeasemodel类名.class.php
                            mobileincludeasecontroller类名.class.php
                            mobileincludeapps模块名model类名.class.php
                            mobileincludeapps模块名controller类名.class.php
                            加载配置文件 load_config()
                            C()获取和设置配置参数、E()异常、L()获取和设置语言定义、I()获取输入参数、
                            session()session管理函数
                            cookie()Cookie 设置、获取、删除
                            site_info()站点数据
                            logResult()写入日志文件

                        默认配置    mobileincludeConvention.php (包含应用配置、数据库配置、模板配置、session参数设置、Cookie参数设置)
                数据库配置      mobiledataconfig.php
                        define      __HOST__      http://localhost
                                        __ROOT__        mobile
                                        __URL__             http://localhost/mobile
                                        __PUBLIC__      mobiledatacommon
                                        __ASSETS__  mobiledataassetsdefault
     
     
     
    mobileincludevendorDispatcher.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
    待续。。。
  • 相关阅读:
    JSP中的一个树型结构
    访问SAP的RFC
    MySQL InnoDB的一些参数说明
    Python: 去掉字符串中的非数字(或非字母)字符
    获取百度地图代码方法
    ps修图之——四步去修图后的毛边
    Python中给文件加锁
    问答项目---金币经验奖励规则及网站配置写入config文件
    问答项目---封装打印数组的方法
    问答项目---栏目增删改方法示例
  • 原文地址:https://www.cnblogs.com/c-961900940/p/4729461.html
Copyright © 2020-2023  润新知