一:入口文件
ThinkPHP框架采用单一入口模式,拥有一个单一入口文件,一般是index.php文件,位于应用根目录下。入口文件必须要做的是载入框架入口文件,即ThinkPHP框架的入口文件。可选的操作包括定义系统级常量,定义调试模式或者部署模式,定义框架路径或者项目路径。
二:自动生成
在第一次访问入口文件的情况下,会自动生成一个模块Home,位于项目目录下,一般是Application目录下。(Home模块一般是前台模块。)下次如果直接访问index.php入口文件则直接路由到Home模块下面的IndexController控制器下的index方法中。
三:模块化设计
在ThinkPHP框架中,使用同一个入口文件则为同一个应用,在同一个应用中可以包含多个模块,例如前台模块(Home),后台管理模块(Admin)等。可以通过在入口文件中定义常量的方式增加新的模块,同时可以为模块绑定控制器和模型类。
四:控制器
ThinkPHP中,可以直接通过URL来路由到相关的控制器和控制器类中的方法,方法需要是public的。一般来说,控制器是根据用户请求url来自动实例化的,但是也可以手动实例化控制器来使用。
五:模型
模型类的作用大多数情况是操作数据表的,如果按照系统的规范来命名模型类的话,大多数情况下是可以自动对应数据表的。模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,然后加上模型层的名字。
模型实例化方法很多,可以直接实例化,使用new关键字。也可以使用ThinkPHP提供的D方法或者M方法来实例化模型类。D方法会实例化模型类,而M方法不会实例化模型类,只是对数据库表的CURD操作。如果使用D方法实例化类时没有找到对应的类则转而使用M方法。
六:模板
模板是视图层的内容,主要是用来返回用户请求的内容,将返回值与模板绑定,直接将数据赋值给模板,将视图层与业务逻辑分离。