# 整体架构
* * * * *
### 整体区块介绍
![document/2015-08-23/55d9c9844362e](https://box.kancloud.cn/document_2015-08-23_55d9c9844362e.png)
<hr /><hr />
#### 1区域:
**功能**:展示系统包含那些子应用
**配置**:在公共Comment下conf下change.php文件中配置
![document/2015-08-23/55d9cd2731867](https://box.kancloud.cn/document_2015-08-23_55d9cd2731867.png)
**设置**:
可以通过键值来设置排序,
title为应用标题
model_name 为应用的模块名称,这里采用了thinkphp3.2的模块部署方式,即一个模块为一个应用。根据以上的设置,项目目录大概如下图所示:
![document/2015-08-23/55d9ccc13f9fc](https://box.kancloud.cn/document_2015-08-23_55d9ccc13f9fc.png)
具体将在项目部署中详细介绍。
数组参数也可以根据项目实际来配置。
<hr /><hr />
#### 2区域
**配置:**
可以通过数据库有关表来设计快捷键
**功能:**
方便用户很容易找到自己需要的,比如添加会员,添加文章等。
<hr /><hr />
#### 3区域
**说明:**
这里每一个模块,都应该是一个控制器,并且这些控制器一般来自同一个应用(也可以扩展外部)。
**配置:**
控制器来自于application下每个子模块下conf下的crt.php。
控制器可能有多个分类。分类在数据库中 后台菜单分类中定义,并且每一个分类都有个字段来说明该分类来自哪一个控制器。
**设置:**
可以设置排序,名称,是否显示等功能。
crt.php部分代码如下:
![document/2015-08-23/55d9d0dd6f0ee](https://box.kancloud.cn/document_2015-08-23_55d9d0dd6f0ee.png)
<hr /><hr />
#### 4区域
**说明:**
这里可能涉及到钩子思想,每个模块中的这块可以由具体开发人员自定义。
**功能:**
搜索 过滤器 排序 添加 修改 删除等功能(这些可以定义为钩子函数,再权限里面做配置)
<hr /><hr />
### 主题
<hr /><hr />
默认情况下,在公共Comment的配置文件下已经给所有子模块都开启了主题模块。
`'DEFAULT_THEME' => 'default',`
所以在子模块中,Views下必须创建默认主题Default文件夹。
如果开发人员觉得模块主题不符合要求,可以在自个的配置文件下设置主题。
### 公共模块(Block)
公共模块Block在applicattion》Public》View》主题》Block下。
作用:比如每个用户都需要开发一个后台侧栏,并且每个侧栏展示和样式都完全一样,在这种情况下,每个只需要有一个开发人员应经开发好了这个侧栏菜单列表,他就可以将该快发布到公共Block中,其他开发人员就不用多写代码,直接引用就好了。
注意:公共模块也默认继承了Default主题,需要在Views下创建默认主题Default。
公共模块必须要有自己独立的css。
宽度和高度尽量定义为100%。
### 设计原则:
不使用数据库的时候尽量不要使用数据库
不适用数据库区域:
顶部菜单程序员完全定义可以不适用数据库
侧栏控制器只有程序员才能定义
使用数据库区域:
快捷键,客户需要操作
侧栏二级分类,客户需要操作
<div style="border:1px solid #ccc;padding:20px;background:#efefef;margin-bottom:20px;">
版权所有:duerhong
联系qq:1186969412
</div>