PHP头条
热点:

ThinkPHP项目分组目录结构说明


项目分组目录结构

启用了项目分组后,目录结构有些细微变化,主要体现在
Lib/Action、Tpl模板、Runtime/Cache缓存、用户函数等目录结构上。
Lib/Action
目录

假设项目分组名称列表配置如下:

'APP_GROUP_LIST'=>'Home,Admin,User,Blog'

那么需要依次在
Lib/Action 目录下创建对应的项目分组目录,如下图所示:

thinkphp_group

而对各项目继承的公共基类文件,如
BaseAction.class.php 等,需要放在 Lib/Action
目录下,放于各自目录下将无效,哪怕这个继承的类文件只是由该项目单独继承。

空模块与空操作类文件也需要放置于 Lib/Action
目录下。
Tpl 模板目录

Tpl 模板目录下可以有多个模板主题,以默认主题 default
来说,同样需要创建对应的项目模板目录:

thinkphp_group2

Tpl/default/Public
仍作为(default模板主题)全站公共模板目录,但对该目录内模板文件的包含有点语法上的改变:

file="Public@header" />

这样包含的就是 Tpl/default/Public/header.html
模板文件。

另外,对于系统内置的:

$this->success();
$this->error();

这两个操作对应的模板也应该放置于
Tpl/default/Public 公共目录下。

而在各个项目分组模板目录下,仍然会生成 Public
目录,项目单独的公共模板仍可以放于其内以供本项目共享,包含方式仍为:

/>

以 Admin 为例说明,包含的就是 Tpl/default/Public/Admin/Public/header.html
模板文件。
Runtime/Cache 缓存目录

同模板目录一样,Runtime/Cache
缓存目录也会根据项目分组而自动生成对应的项目分组缓存目录。
用户函数

对于用户的独立函数文件,Common/common.php
仍是被各项目分组公用的。如果要单独为某个项目分组提供独有的函数文件,需要在 Common 创建对应的目录。以 Admin
分组项目为例,Common/Admin/function.php 则为 Admin
分组项目独有的函数文件。
配置文件目录

各分组项目贡献配置目录下的 config.php
文件里的配置信息,要为各分组配置单独的个性化配置文件,需要在配置目录下创建对应的目录及配置文件,如:

Conf/Admin/config.php

更多关于项目分组配置参见《ThinkPHP
项目分组配置》。
模型类目录

对于模型类,也可以进行分组管理,如:

$user =
D('Admin.UserView');

对应的就是 Lib/Model/Admin/UserViewmodel.class.php
文件。

实际上 Model 下的目录跟项目分组没有必然的对应关系,使用 D('Test.UserView') 的时候,系统会自动对应
Lib/Model/Test/UserViewmodel.class.php 文件,而不关心 Test
是否是一个项目分组。
语言定义目录

系统语言目录也可以根据项目分组来管理。如 Admin
分组,其对应的语言文件则为:

Lang/Admin/lang.php

模板特殊字符替换

对于模板中的与项目有关的特殊替换字符(如
../Public)仍保持不变,即:

../Public 替换后的值仍为
/APP_NAME/Tpl/default/Public/,而与项目分组无关,其余的特殊替换字串亦如此。

关于模板特殊字符串替换参见:《ThinkPHP
模板特殊字符串替换》

www.phpzy.comtrue/phpkj/11576.htmlTechArticleThinkPHP项目分组目录结构说明 项目分组目录结构 启用了项目分组后,目录结构有些细微变化,主要体现在 Lib/Action、Tpl模板、Runtime/Cache缓存、用户函数等目录结构上。 Lib/Action 目录 假...

相关文章

相关频道:

PHP之友评论

今天推荐