一个完整的ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器。
ThinkPHP新版采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块应用的创建,让应用的扩展更加方便。
一个典型的URL访问规则是(我们以默认的PATHINFO模式为例说明,当然也可以支持普通的URL模式):
http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...]
ThinkPHP的应用可以支持切换到命令行访问,如果切换到命令行模式下面的访问规则是:
>php.exe index.php(或其它应用入口文件) 模块/控制器/操作/[参数名/参数值...]
解释下其中的几个概念:
名称 | 描述 |
---|---|
应用 | 基于同一个入口文件访问的项目我们称之为一个应用。 |
模块 | 一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录。 |
控制器 | 每个模块可以包含多个控制器,一个控制器通常体现为一个控制器类。 |
操作 | 每个控制器类可以包含多个操作方法,也可能是绑定的某个操作类,每个操作是URL访问的最小单元。 |
模块化设计的思想下面模块是最重要的部分,模块其实是一个包含配置文件、函数文件和MVC文件(目录)的集合。