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

ectouch第三讲之加载调用机制的更多相关文章

  1. [转载] Android动态加载Dex机制解析

    本文转载自: http://blog.csdn.net/wy353208214/article/details/50859422 1.什么是类加载器? 类加载器(class loader)是 Java ...

  2. Java_动态重新加载Class机制

    Java动态重新加载Class 项目中使用到了动态重新加载Class的机制,作用是让一些代码上线之前可以在线上环境测试一下,当然,这是非常不好的测试机制,我刚来的时候也为这种机制感到惊讶—怎么可以在线 ...

  3. [转][osg]关于PagedLOD 加载卸载机制

    你的PagedLOD 为什么没有卸载 转自:http://bbs.osgchina.org/forum.php?mod=viewthread&tid=7612&highlight=Pa ...

  4. unreal3对象属性自动从配置文件中加载的机制

    unrealscript中有两个与属性自动配置相关的关键字: config/globalconfig 当把它们应用于属性时,对象在创建后,该属性的初始值会被自动设置为相对应ini文件中的值. 举例来说 ...

  5. Spring加载XML机制

    转载自跳刀的兔子   http://www.cnblogs.com/shipengzhi/articles/3029872.html 加载文件顺序 情形一:使用classpath加载且不含通配符 这是 ...

  6. 基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 个人技术博客:http://www.cnblogs.com/M ...

  7. java类什么时候加载?,加载类的原理机制是怎么样的?

    java类什么时候加载?,加载原理机制是怎么样的?   答: 很多人都不是很清楚java的class类什么时候加载在运行内存中,其实类加载的时间是发生在一下几种情况: 1.实例化对象时,就像sprin ...

  8. Dubbo 扩展点加载机制:从 Java SPI 到 Dubbo SPI

    SPI 全称为 Service Provider Interface,是一种服务发现机制.当程序运行调用接口时,会根据配置文件或默认规则信息加载对应的实现类.所以在程序中并没有直接指定使用接口的哪个实 ...

  9. java中调用本地动态链接库(*.DLL)的两种方式详解和not found library、打包成jar,war包dll无法加载等等问题解决办法

    我们经常会遇到需要java调用c++的案例,这里就java调用DLL本地动态链接库两种方式,和加载过程中遇到的问题进行详细介绍 1.通过System.loadLibrary("dll名称,不 ...

随机推荐

  1. Java静态代码分析工具——FindBugs插件的安装与使用

    1 什么是FindBugs FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分 ...

  2. DAC重置max server memory

    15:44 2014-01-24 08R2,一次通过GUI更改'最大服务器内存(MB)'为16MB,errorlog显示信息如下 :: . Run the RECONFIGURE statement ...

  3. 让SpringMVC支持可版本管理的Restful接口

    需求 移动互联网时代的到来,软件开发的模式也在变化.记得以前做B/S的后台开发,基本上没有Http接口一说,全部是通过渲染模板技术(jsp,freemark)把最终html展示给最终用户.现在完全变了 ...

  4. swift 异步加载图片

    import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...

  5. 通过SSIS监控远程服务器磁盘空间并发送邮件报警!

    由于之前ESB是供应商部署的,且部署在C盘(C盘空间很小,还添加了很多ESB的windows服务日志在C盘,很容易把C盘空间占满,导致ESB服务运行宕机,几乎每隔几周发生一次事故,需要人工干预处理,不 ...

  6. 鼠标放上去,不同的cursor光标类型

    <!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf ...

  7. linux:lnmp环境搭建

    一.准备工作(把安装环境需要使用到的包都下载好) mysql(官网):http://dev.mysql.com/downloads/ php(官网):http://php.net/downloads. ...

  8. Leetcode: Majority Element II

    Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorit ...

  9. MFC架构

    MFC的六大关键技术: 1)MFC程序的初始化过程 2)消息映射 3)运行时类型识别(RTTI) 4)动态创建 5)永久保存 6)消息传递 一.MFC的初始化过程: MFC的架构组成: 1.要有CWi ...

  10. C#控件:TabControl

    tabcontrol在切换页面的时候经常用到 这里讲下如何让tabcontrol更好看 ref:http://blog.csdn.net/conmajia/article/details/759671 ...