加载与调用机制:
        当地址栏键入/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. iOS 归档

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  2. Megacli查看raid磁盘信息

    准备: 新版本的 MegaCli-1.01.24-0.i386.rpm (下载地址:http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Fi ...

  3. chrome 下载插件包及离线安装

    最近需要测试http rest服务,由于chrome插件的轻便,首先想到了用chrome插件,在google商店找到Advanced Rest Client,用了一阵感觉不错. 于是项目组其他同事也要 ...

  4. iOS8中用UIVisualEffectView实现高斯模糊视图(毛玻璃效果)

    UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView *vi ...

  5. IOS 加载Xib 后 如何 动态修改xib中的控件frame

    看看xib里view是不是设置了自动布局 use auto layout.取消掉就可以了.

  6. G面经prepare: Chucked Palindrome

    给定一个字符串,找出最多有多少个chunked palindrome, 正常的palindrome是abccba, chunked palindrome的定义是:比如volvo, 可以把vo划分在一起 ...

  7. Lintcode: Topological Sorting

    Given an directed graph, a topological order of the graph nodes is defined as follow: For each direc ...

  8. codevs 1202 求和

    http://codevs.cn/problem/1202/ 1202 求和  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题目描述 D ...

  9. paper 14 : 图像视觉领域部分开源代码

    做图像处理,没有一定的知识储备是不可能的,但是一定要学会“借力打力”,搜集一些很实用的开源代码,你们看看是否需要~~ 场景识别: SegNet: A Deep Convolutional Encode ...

  10. :nth-child()和:nth-of-type(n)区别

    ele:nth-child(n) 父元素下第n个元素且这个元素为ele ele:nth-of-type(n) 指父元素下第n个ele元素