ThinkPHP-控制器

来自站长百科
Zhou3158讨论 | 贡献2010年4月27日 (二) 15:07的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航、​ 搜索

导航:返回上一页

ThinkPHP的控制器就是模块类,通常位于项目的LibAction目录下面。类名就是模块名加上Action后缀,例如IndexAction类就表示了Index模块。控制器类必须继承系统的Action基础类,这样才能确保使用Action类内置的方法。而index操作其实就是 IndexAction类的一个公共方法,所以我们在浏览器里面输入URL

http://localhost/myApp/index.php/Index/index/ 其实就是执行了IndexAction类的index(公共)方法。

每个模块的操作并非一定需要有定义操作方法,如果我们只是希望输出一个模板,既没有变量也没有任何的业务逻辑,那么只需要按照规则定义好操作对应的模板文件即可,而不需要定义操作方法。例如,我们在IndexAction中如果没有定义help方法,但是存在对应的Index/help.html 模板文件,那么下面的URL访问依然可以正常运作:

http://localhost/myApp/index.php/Index/help/

因为系统找不到IndexAction类的help方法,会自动定位到Index模块的模板目录中查找help.html模板文件,然后直接渲染输出。

控制器中还设计了模块分组、空操作、空模块、前置和后置操作、操作链等功能.