ThinkPHP学习
ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器。
默认的URL访问规则为:
http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...]
例如:
http://localhost/opensns/index.php?s=/weibo/index/index.html
服务器为本机,入口文件为index.php,模块为微博,控制器哦为index。
几个名词
名称 | 描述 |
---|---|
应用 | 基于同一个入口文件访问的项目我们称之为一个应用。 |
模块 | 一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录。 |
控制器 | 每个模块可以包含多个控制器,一个控制器通常体现为一个控制器类。 |
操作 |
每个控制器类可以包含多个操作方法,也可能是绑定的某个操作类,每个操作是URL访问的最小单元。 |
我们可以看一下opensns的模块目录,还是以微博模块为例子:
每个模块是相对独立的,其目录结构如下:
几个模块的解释:
公共模块
Common模块是一个特殊的模块,是应用的公共模块,访问所有的模块之前都会首先加载公共模块下面的配置文件(Conf/config.php
)和公共函数文件(Common/function.php
)。
但Common模块本身不能通过URL直接访问,公共模块的其他文件则可以被其他模块继承或者调用。
公共模块的位置可以通过COMMON_PATH常量改变,我们可以在入口文件中重新定义COMMON_PATH如下:
define('COMMON_PATH','./Common/'); define('APP_PATH','./Application/'); require './ThinkPHP/ThinkPHP.php';