博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP控制器、路由、模板和系统常量
阅读量:4482 次
发布时间:2019-06-08

本文共 1866 字,大约阅读时间需要 6 分钟。

一、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

转载于:https://www.cnblogs.com/wjglm/p/9888037.html

你可能感兴趣的文章
PhoneGap 3.0 安装
查看>>
每天一个小算法(2)----合并两个有序链表
查看>>
IOS开发把一个结构体放到数组中
查看>>
cglib动态代理(即AOP)
查看>>
08 H5新增input元素
查看>>
linux中安装软件的集中方法
查看>>
Express中间件,看这篇文章就够了(#^.^#)
查看>>
《构建之法》(五)
查看>>
创建django项目
查看>>
Linux Bash基本功能
查看>>
一则小脚本(工作中用)
查看>>
软件工程结对作业
查看>>
Keil 4.0 生成bin文件
查看>>
sql语句的进化--hibernate篇
查看>>
python爬虫之cookie
查看>>
11.超市收银系统的项目
查看>>
2017年5月29号课堂笔记
查看>>
HDU4247【瞎搞】
查看>>
lightoj 1125【背包·从n个选m个】
查看>>
HDU 1243 反恐训练营(最长公共序列)
查看>>