每一个框架都有自动载入的工具库,搜了半天也没搜到相关介绍,就自己看入口文件琢磨了一下,

<?php

define('ROOT_PATH', dirname(__FILE__));       //定义项目根目录路径
include(ROOT_PATH . '/eccore/ecmall.php');  //引入了ecmall.php 核心框架文件,包含基础类和函数 介个里面的函数什么的 就可以直接用啦 下面紧接着就用到了。① /* 定义配置信息 */
ecm_define(ROOT_PATH . '/data/config.inc.php'); //ecmall 定义常量,引入配置文件,内有数组,按键值对定义常量,打开一看,啧啧啧,原来我很久以前改过的文件是这个 (→_→) /* 启动ECMall */
ECMall::startup(array(          
'default_app' => 'default',
'default_act' => 'index',
'app_root' => ROOT_PATH . '/app',
'external_libs' => array(            //打开 ecmall.php 找到 startup()方法,当前这个数组里的文件都会被引入,方法本身还引入了app.base.php ② 和model.base.php ③
ROOT_PATH . '/includes/global.lib.php', //④
ROOT_PATH . '/includes/libraries/time.lib.php',// ⑤
ROOT_PATH . '/includes/ecapp.base.php', //⑥
ROOT_PATH . '/includes/plugin.base.php', //⑦
ROOT_PATH . '/app/frontend.base.php', //⑧
ROOT_PATH . '/includes/subdomain.inc.php', //⑨
),
));
?>

综上所述: 新安装好的ecmall 项目 ,启动时 会引入9个文件,随着项目需求的增加,可能会引入更多。

9个文件分别是

/eccore/ecmall.php              核心框架文件

/eccore/controller/app.base.php        基础控制器类

/eccore/model/model.base.php          模型基础类

/includes/global.lib.php             函数库

/includes/libraries/time.lib.php          时间函数库

/includes/ecapp.base.php           包含常量的基础类

/includes/plugin.base.php           插件基础类 

/app/frontend.base.php            前台控制器基础类

/includes/subdomain.inc.php          域名相关文件

这基础的9个文件,里面的函数什么的都是可以直接用的 (=_=)  不知道有没有人跟我一样,不知道哪些东西能直接用,哪些要引入才能用 (→_→)

每次要用的时候都犹豫不决,还是仔细看一遍,记下来,这样忘了还方便找。

ecmall 入口文件解析 引入了什么的更多相关文章

  1. LotusPhp入口文件解析

    LotusPhp也是单入口的框架,可以根据需要开启多个应用实例 例如前台页面可以用index.php作为入口文件,后台可以用admin.php作为入口文件,多个应用实例可以共享应用配置和类库或者根本每 ...

  2. thinkPHP框架单一入口文件解析

    一.index.php  (可参考ThinkPHP学习手册http://document.thinkphp.cn/manual_3_2.html#entrance_file) index.php单入口 ...

  3. tp3.2源码解析——入口文件

    如果有人读这篇文章并跟着做的话,希望你能使用支持函数跳转的编辑器,还要善用var_dump和exit,对着源码去调试着看.跟着入口文件读,执行到哪里你看到哪里,对于那些不能一眼看出来的配置,则要记录下 ...

  4. CI 框架源码解析一之入口文件 index.php

    Index.php作为CI框架的入口文件,源码分析,自然而然由此开始.在源码分析的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现,如果英文水平很好的话,读过index.php文件的英文注释之 ...

  5. 详细解析Thinkphp5.1源码执行入口文件index.php运行过程

    详细解析Thinkphp5.1源码执行入口文件index.php运行过程 运行了public目录下的index.php文件后,tp的运行整个运行过程的解析 入口文件index.php代码如下: < ...

  6. java jar包解析:打包文件,引入文件

    java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...

  7. Vue源码解析(一):入口文件

    在学习Vue源码之前,首先要做的一件事情,就是去GitHub上将Vue源码clone下来,目前我这里分析的Vue版本是V2.5.21,下面开始分析: 一.源码的目录结构: Vue的源码都在src目录下 ...

  8. Thinkphp源码分析系列(一)–入口文件

    正如官方文档上所介绍的,thinkphp使用单一入口,所有的请求都从默认的index.php文件进入.当然不是说一定非得从index.php进入,这应该取决于你的服务器配置,一般服务器都会有默认的首页 ...

  9. android基础知识13:AndroidManifest.xml文件解析

    注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...

随机推荐

  1. Python爬虫(三)——开封市58同城出租房决策树构建

    决策树框架: # coding=utf-8 import matplotlib.pyplot as plt decisionNode = dict(boxstyle=') leafNode = dic ...

  2. 结合iconworkshop,创建ribbon界面

    mfc实现的程序中,ribbon界面是主流,比较适合测量类项目.几个修改图标的小技巧: 1.现有的bmp,可以直接修改 在好几个地方,已经将IDB_*和显示效果对接清楚了,直接修改这里的bmp,就可以 ...

  3. 自动化测试系列:如何实现Selenium自动化读取H5手机缓存

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6890675.html 前言: 由于Se ...

  4. 【C++】C++未定义行为

    未定义行为:语言标准没有规定,编译器自行决定的行为,在不同的编译器上有时会有不同的结果. 1: int i=0; i=i++; 我们知道i++会返回i之后再自增,那么程序运行完i为多少? 解释一:i= ...

  5. 通过Python计算一个文件夹大小

    在进行计算一个文件夹内容大小的时候,我们要考虑文件夹内都有什么内容,可能都是一个一个的单文件,也有可能都是子文件夹,或者二者都有,既然要计算整个文件夹的大小,我们当然要计算每一个文件的大小以及每一个子 ...

  6. _pvp

    comment 备注 zone 区域ID,.gps第二个参数 area 地域ID,.gps第三个参数 type 区域类型(保持原状.安全区.自由PVP.自由PVP - 禁止组队.自定义阵营(_fact ...

  7. centos7 安装xinetd,telnet

    安装方式:yum [root@master ~]# yum list |grep telnettelnet-server.x86_64                    1:0.17-59.el7 ...

  8. docker-compose 手工指定容器IP

    首先明确两点: 1只有自定义网络,才能手工指定每个容器的ip.默认的bridge是不行的! 2 手工设定了网段比如172.19.0.0   不影响docker在host装的网卡docker0 的172 ...

  9. spring/java ---->记录和整理用过的注解以及spring装配bean方式

    spring注解 @Scope:该注解全限定名称是:org.springframework.context.annotation.Scope.@Scope指定Spring容器如何创建Bean的实例,S ...

  10. ie 下date对象

    var t = '2014-02-26T21:18:02.497' var a = t.replace(/(\d{4})-(\d{2})-(\d{2})T(.*)?\.(.*)/, "$1/ ...