1、一个完整的ThinkPHP应用基于模块/控制器/操做设计,而且,若是有须要的话,能够支持多入口文件和多级控制器。模块化设计的思想下面模块是最重要的部分,模块实际上是一个包含配置文件、函数文件和MVC文件(目录)的集合。php
应用 | 基于同一个入口文件访问的项目咱们称之为一个应用。 |
模块 | 一个应用下面能够包含多个模块,每一个模块在应用目录下面都是一个独立的子目录。 |
控制器 | 每一个模块能够包含多个控制器,一个控制器一般体现为一个控制器类。 |
操做 | 每一个控制器类能够包含多个操做方法,也多是绑定的某个操做类,每一个操做是URL访问的最小单元。 |
1、控制器架构
咱们能够在自动生成的Application/Home/Controller目录下面找到一个 IndexController.class.php
文件,这就是默认的Index控制器文件。模块化
控制器类的命名方式是:控制器名(驼峰法,首字母大写)+Controller函数
控制器文件的命名方式是:类名+class.php(类文件后缀)spa
namespace Home\Controller;//这是系统的规范要求,表示当前类是Home模块下的控制器类,命名空间和实际的控制器文件所在的路径是一致的,也就是说: Home\Controller\IndexController
类 对应的控制器文件位于应用目录下面的 Home/Controller/IndexController.class.php
,若是你改变了当前的模块名,那么这个控制器类的命名空间也须要随之修改。
use Think\Controller; // 表示引入 Think\Controller 命名空间便于直接使用.若是想使用Action 则在配置文件中设置
'DEFAULT_C_LAYER'=>'Action'便可
class IndexController extends Controller {
public function index(){
echo 'hello,world!';
}
}
3、CBD模式。CBD(核心Core+行为Behavior+驱动Driver)架构模式设计