项目分组目录结构 启用了项目分组后,目录结构有些细微变化,主要体现在 Lib/Action、Tpl模板、Runtime/Cache缓存、用户函数等目录结构上。 Lib/Action 目录假设项目分组名称列表配置如下: 'APP_GROUP_LIST'=>'Home,Admin,User,Blog'那么需要依次在 Lib/Action 目录下创建对应的项目分组目录,如下图所示: 而对各项目继承的公共基类文件,如 BaseAction.class.php 等,需要放在 Lib/Action 目录下,放于各自目录下将无效,哪怕这个继承的类文件只是由该项目单独继承。 空模块与空操作类文件也需要放置于 Lib/Action 目录下。 Tpl 模板目录Tpl 模板目录下可以有多个模板主题,以默认主题 default 来说,同样需要创建对应的项目模板目录: Tpl/default/Public 仍作为(default模板主题)全站公共模板目录,但对该目录内模板文件的包含有点语法上的改变: 这样包含的就是 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模板特殊字符替换对于模板中的与项目有关的特殊替换字符(如 /Tpl/Home/default/Public)仍保持不变,即: /Tpl/Home/default/Public 替换后的值仍为 /APP_NAME/Tpl/default/Public/,而与项目分组无关,其余的特殊替换字串亦如此。 关于模板特殊字符串替换参见:《ThinkPHP 模板特殊字符串替换》
|