代码框架分析

风 2017-06-1812:05:49 评论 585

整个移动场景使用ThinkPHP作为框架;

所以思路:
只需要在入口文件(index.php)中添加如下定义:
[php]
//开启调试模式 建议开发阶段开启 部署阶段注释或者设为 false
define('APP_DEBUG',false);
//定义应用目录:
define('APP_PATH','./Application/');
//加载ThinkPHP框架的入口文件:
require './ThinkPHP/ThinkPHP.php';
[/php]
如果当前目录中没有Application,那么会在Application目录下面自动生成公共模块Common、默认模块Home和Runtime运行时目录:
[php]
Application
├─Common 应用公共模块
│ ├─Common 应用公共函数目录
│ └─Conf 应用公共配置文件目录
├─Home 默认生成的Home模块
│ ├─Conf 模块配置文件目录
│ ├─Common 模块函数公共目录
│ ├─Controller 模块控制器目录
│ ├─Model 模块模型目录
│ └─View 模块视图文件目录
├─Runtime 运行时目录
│ ├─Cache 模版缓存目录
│ ├─Data 数据目录
│ ├─Logs 日志目录
│ └─Temp 缓存目录模块设计
[/php]
除了Conf和Common目录外,每个模块下面的目录结构可以根据需要灵活设置和添加,所以并不拘泥于上面展现的目录。

如果我要添加新的模块,有没有快速生成模块目录结构的办法呢?只需要在入口文件中添加如下定义(假设要生成Admin模块):
[php]
define('APP_PATH','./Application/');
// 绑定入口文件到Admin模块访问
define('BIND_MODULE','Admin');
require './ThinkPHP/ThinkPHP.php';
[/php]
BIND_MODULE常量定义表示绑定入口文件到某个模块,由于并不存在Admin模块,所以会在第一次访问的时候自动生成。重新访问入口文件后,就会再次看到欢迎页面,这个时候在Application下面已经自动生成了Admin模块及其目录结构。
注意:生成以后,你需要删除(或者注释掉)刚才添加的那段常量定义才能正常访问Home模块,否则就只能访问Admin模块(因为应用入口中已经绑定了Admin模块):
[php]
define('APP_PATH','./Application/');
// 注释掉绑定模块的定义
// define('BIND_MODULE','Admin');
require './ThinkPHP/ThinkPHP.php';
[/php]
有些情况下,我们需要更改应用目录、运行时目录和框架的位置,那么可以修改入口文件如下:
[php]
// 定义应用目录
define('APP_PATH','./Apps/');
// 定义运行时目录
define('RUNTIME_PATH','./Runtime/');
// 更名框架目录名称,并载入框架入口文件
require './Think/ThinkPHP.php';
[/php]
这样最终的应用目录结构如下:
[php]
目录(或者子目录)
├─index.php 应用入口文件
├─Apps 应用目录
├─Public 资源文件目录
├─Runtime 运行时目录、编译目录(用户访问的时候实际上为此目录中的缓存文件)
└─Think 框架目录
[/php]

风

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: