ThinkPHP控制器、路由、模板和系统常量

一、ThinkPHP控制器的创建

  1. 控制器存放在Controller文件夹中
  2. 命名规范:控制器的名称+Controller.class.php
  3. 类名和文件的名称要一致
  4. 类名用帕斯卡命名法
  5. 尽量区分大小写,windows不区分大小写,但Linux中区分
  6. ThinkPHP默认的编码是UTF-8的。
  7. 如果地址中没有写控制器,这默认调用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

posted @ 2018-11-01 11:00  wangjinggang  阅读(936)  评论(0编辑  收藏  举报