一、ThinkPHP控制器的创建
- 控制器存放在Controller文件夹中
- 命名规范:控制器的名称+Controller.class.php
- 类名和文件的名称要一致
- 类名用帕斯卡命名法
- 尽量区分大小写,windows不区分大小写,但Linux中区分
- ThinkPHP默认的编码是UTF-8的。
- 如果地址中没有写控制器,这默认调用Index控制器,如果没有写方法,则默认调用index方法
命名法:
1、帕斯卡命名法:首字母大写 UserName MyNameIsLiping
2、骆驼命名法:userName _user_name
3、匈牙利命名法:前缀(类别)+名字 radSex txtUsername iIength oStu
二、ThinkPHP的路由
结合U()方法使用
1、普通模式
2、pathinfo模式(ThinkPHP中,默认使用pathinfo模式。)
http://网址/入口文件(index.php)/分组(平台)/控制器/方法
比如:http://localhost/index.php/home/index/index
3、rewrite()重写模式
(1)httpd.conf配置文件中加载了mod_rewrite.so模块 LoadModule rewrite_module modules/mod_rewrite.so(2)设置Apache找到以下代码段: <Directory /> Options FollowSymLinks AllowOverride None </Directory>将其中的:AllowOverride None 改为 AllowOverride All ,重启httpd服务即可。(3)确保URL_MODEL设置为2 在 \Application\Common\Conf\config.php 文件下 <?php return array( //'配置项'=>'配置值' 'DEFAULT_MODULE' => 'Web', //默认模块 'URL_MODEL' => '2', //URL模式 'SESSION_AUTO_START' => true, //是否开启session //数据库配置 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'hms', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => '3306', // 端口 'DB_PREFIX' => 'hms_', // 数据库表前缀 );(4)在入口文件index.php同级目录添加.htaccess文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
(5)重启apache
4、兼容模式
参数s=/分组/控制器/方法。
三、定义和调用TP的模板
所有的模板都要放在view文件夹下。
规则:一个控制器对应一个文件夹,一个方法对应一个文件
TP模板的调用
四、TP系统常量
-
__ROOT__:当前网站根目录
-
__APP__:
当前应用(入口文件)地址
-
__SELF__ :当前路径
-
__MODULE__:当前分组(
当前模块的URL地址
) -
__CONTROLLER__:当前控制器
-
__URL__等于__CONTROLLER__
-
__ACTION__:当前方法
-
__INFO__ 当前的PATH_INFO字符串
-
__EXT__ 当前URL地址的扩展名
注:rewrite()重写配置原文转载自:
原文:https://blog.csdn.net/hbiao68/article/details/53173158 原文:https://blog.csdn.net/a1974117511/article/details/46446443