1. 程式人生 > >ThinkPHP控制器、路由、模板和系統常量

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