ecmall 入口文件解析 引入了什么
每一个框架都有自动载入的工具库,搜了半天也没搜到相关介绍,就自己看入口文件琢磨了一下,
<?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 入口文件解析 引入了什么的更多相关文章
- LotusPhp入口文件解析
LotusPhp也是单入口的框架,可以根据需要开启多个应用实例 例如前台页面可以用index.php作为入口文件,后台可以用admin.php作为入口文件,多个应用实例可以共享应用配置和类库或者根本每 ...
- thinkPHP框架单一入口文件解析
一.index.php (可参考ThinkPHP学习手册http://document.thinkphp.cn/manual_3_2.html#entrance_file) index.php单入口 ...
- tp3.2源码解析——入口文件
如果有人读这篇文章并跟着做的话,希望你能使用支持函数跳转的编辑器,还要善用var_dump和exit,对着源码去调试着看.跟着入口文件读,执行到哪里你看到哪里,对于那些不能一眼看出来的配置,则要记录下 ...
- CI 框架源码解析一之入口文件 index.php
Index.php作为CI框架的入口文件,源码分析,自然而然由此开始.在源码分析的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现,如果英文水平很好的话,读过index.php文件的英文注释之 ...
- 详细解析Thinkphp5.1源码执行入口文件index.php运行过程
详细解析Thinkphp5.1源码执行入口文件index.php运行过程 运行了public目录下的index.php文件后,tp的运行整个运行过程的解析 入口文件index.php代码如下: < ...
- java jar包解析:打包文件,引入文件
java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...
- Vue源码解析(一):入口文件
在学习Vue源码之前,首先要做的一件事情,就是去GitHub上将Vue源码clone下来,目前我这里分析的Vue版本是V2.5.21,下面开始分析: 一.源码的目录结构: Vue的源码都在src目录下 ...
- Thinkphp源码分析系列(一)–入口文件
正如官方文档上所介绍的,thinkphp使用单一入口,所有的请求都从默认的index.php文件进入.当然不是说一定非得从index.php进入,这应该取决于你的服务器配置,一般服务器都会有默认的首页 ...
- android基础知识13:AndroidManifest.xml文件解析
注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...
随机推荐
- Python爬虫(三)——开封市58同城出租房决策树构建
决策树框架: # coding=utf-8 import matplotlib.pyplot as plt decisionNode = dict(boxstyle=') leafNode = dic ...
- 结合iconworkshop,创建ribbon界面
mfc实现的程序中,ribbon界面是主流,比较适合测量类项目.几个修改图标的小技巧: 1.现有的bmp,可以直接修改 在好几个地方,已经将IDB_*和显示效果对接清楚了,直接修改这里的bmp,就可以 ...
- 自动化测试系列:如何实现Selenium自动化读取H5手机缓存
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6890675.html 前言: 由于Se ...
- 【C++】C++未定义行为
未定义行为:语言标准没有规定,编译器自行决定的行为,在不同的编译器上有时会有不同的结果. 1: int i=0; i=i++; 我们知道i++会返回i之后再自增,那么程序运行完i为多少? 解释一:i= ...
- 通过Python计算一个文件夹大小
在进行计算一个文件夹内容大小的时候,我们要考虑文件夹内都有什么内容,可能都是一个一个的单文件,也有可能都是子文件夹,或者二者都有,既然要计算整个文件夹的大小,我们当然要计算每一个文件的大小以及每一个子 ...
- _pvp
comment 备注 zone 区域ID,.gps第二个参数 area 地域ID,.gps第三个参数 type 区域类型(保持原状.安全区.自由PVP.自由PVP - 禁止组队.自定义阵营(_fact ...
- centos7 安装xinetd,telnet
安装方式:yum [root@master ~]# yum list |grep telnettelnet-server.x86_64 1:0.17-59.el7 ...
- docker-compose 手工指定容器IP
首先明确两点: 1只有自定义网络,才能手工指定每个容器的ip.默认的bridge是不行的! 2 手工设定了网段比如172.19.0.0 不影响docker在host装的网卡docker0 的172 ...
- spring/java ---->记录和整理用过的注解以及spring装配bean方式
spring注解 @Scope:该注解全限定名称是:org.springframework.context.annotation.Scope.@Scope指定Spring容器如何创建Bean的实例,S ...
- ie 下date对象
var t = '2014-02-26T21:18:02.497' var a = t.replace(/(\d{4})-(\d{2})-(\d{2})T(.*)?\.(.*)/, "$1/ ...