ThinkPHP 模塊與操做 系統配置

ThinkPHP 模塊

進入 Myapp\Lib\Action 目錄,裏面有個 IndexAction.class.php 文件。該文件爲剛纔咱們運行入口文件 index.php 時系統自動生成的。打開該文件,其內容大體以下(方法內具體代碼省略): php

<?php // 本類由系統自動生成,僅供測試用途 class IndexAction extends Action{ public function index(){ 具體代碼略…… } } ?>

該文件已經演示了一個基於 ThinkPHP 的實際應用。 html

ThinkPHP 控制器

像上面這個 IndexAction.class.php 這樣的特殊文件,稱爲控制器。該類文件一般位於 Lib\Action 下面,命名方式必須以「模塊名+Action.class.php」樣式來命名,如 IndexAction.class.php ,詳細可參考《ThinkPHP 命名規範》章節。 mysql

ThinkPHP 模塊

一個控制器對應一個模塊。如 IndexAction.class.php 就對應 Index 模塊,相應的類名爲 IndexAction ,如上面的例子: sql

class IndexAction extends Action

ThinkPHP 操做

一個模塊(類)裏有多個方法,稱之爲「操做」。如上面例子的 index 方法: 數據庫

public function index()

咱們更改上面的 IndexAction.class.php 爲: 瀏覽器

<?php 
class IndexAction extends Action{ 
 public function index(){ 
 header("Content-Type:text/html; charset=utf-8"); 
 echo "第一個例子測試!"; 
 } 
} 
?>

再次訪問網站首頁(入口文件): 緩存

http://127.0.0.1/html/myapp/index.php

瀏覽器顯示內容爲在 index 操做中輸出的: app

第一個例子測試!

而不是原來的默認歡迎界面。 測試

增長操做

要增長一個操做,只需在模塊裏增長一個定義爲 public 的方法便可。在 IndexAction.class.php 裏面新增長一個 test 操做: 網站

public function test(){ header("Content-Type:text/html; charset=utf-8"); echo "這是 test 操做"; }

要訪問該操做,瀏覽器地址爲:

http://127.0.0.1/html/Myapp/index.php/Index/test

瀏覽器輸出以下:

這是 test 操做

項目配置

打開項目配置目錄 Conf ,裏面有個 config.php 文件,該文件就是 ThinkPHP 系統配置文件。咱們將一些項目配置信息如數據庫帳號密碼等寫入配置文件以供系統調用。
一個配置樣例以下:
<?php 
if (!defined('THINK_PATH')) exit(); 
return array( //'配置項' => '配置值' 
'DB_TYPE' => 'mysql', //使用的數據庫類型 
'DB_HOST' => 'localhost', 
'DB_NAME' => 'test', //數據庫名 
'DB_USER' => 'root', //訪問數據庫帳號 
'DB_PWD' => 'root123', //訪問數據庫密碼 
'DB_PORT' => '3306', 
'DB_PREFIX' => 'dev_', //表前綴 
'APP_DEBUG' => true, //調試模式開關 
'TOKEN_ON' => true, //是否開啓令牌驗證 
'URL_MODEL' => 1, //URL模式:0普通模式 1PATHINFO 2REWRITE 3兼容模式 
); 
?>

配置信息補充說明

  1. 若是表沒有前綴,則表前綴 DB_PREFIX 配置爲空便可:

     

    'DB_PREFIX'=>'',
  2. APP_DEBUG 調試開關配置項中,配置爲 true 表示開啓調試開關,那麼在有模板輸出的頁面中,能夠看到系統運行信息。以下圖:

    ThinkPHP調試信息

  3. TOKEN_ON 令牌驗證配置爲 true ,在表單提交時系統會自動生成一個 MD5 驗證令牌用於防止非法表單提交。
  4. URL_MODEL URL訪問模式,根據須要配置,若是環境不支持 PATHINFO 則設置爲 3 以適應。
  5. APP_GROUP_LIST 及 DEFAULT_GROUP 用於項目分組,具體可參見《ThinkPHP 項目分組》。

提示

若是更改了配置選項,須要刪除 Runtime 下面的緩存文件以使配置選項生效。

表前綴

數據表前綴每每用於區分同一個數據庫內的不一樣系統的表。如安裝了論壇,博客或者其餘應用等不一樣的系統板塊,則爲了區分表所屬系統,每每加上前綴以區分。

其餘配置選項

下面列出了其餘一些可能在項目中用獲得的配置選項供參考:
'URL_PATHINFO_DEPR' => '/', //PATHINFO URL 模式下,各參數之間的分割符號 
'DEFAULT_THEME' => 'default', //默認模板主題 
'URL_HTML_SUFFIX' => '.html', //URL僞靜態後綴設置 
'DEFAULT_CHARSET' => 'utf-8', // 默認輸出編碼 
'DEFAULT_TIMEZONE' => 'PRC', // 默認時區 
'DEFAULT_AJAX_RETURN' => 'JSON', // 默認AJAX 數據返回格式,可選JSON XML ... 
'APP_GROUP_LIST' => 'Home,Admin', //項目分組 
'DEFAULT_GROUP' => 'Home', //默認分組 
'COOKIE_EXPIRE' => 3600, // Coodie有效期 
'COOKIE_DOMAIN' => '', // Cookie有效域名 
'COOKIE_PATH' => '/', // Cookie路徑 
'COOKIE_PREFIX' => '', // Cookie前綴 避免衝突 
'HTML_CACHE_ON' => false, //默認關閉靜態緩存 
'HTML_CACHE_TIME' => 60, //靜態緩存有效期 
'HTML_READ_TYPE' => 0, //靜態緩存讀取方式 0 readfile 1 redirect 
'HTML_FILE_SUFFIX' => '.shtml', //默認靜態文件後綴 
'ERROR_MESSAGE' => '您瀏覽的頁面暫時發生了錯誤!請稍後再試~',//錯誤顯示信息,非調試模式有效 
'ERROR_PAGE' => '', // 錯誤定向頁面

個性化配置

以上參數配置是基於 ThinkPHP 的系統配置參數,在項目建設過程當中,有時候會有本身的個性化配置參數,個性化配置參數也能夠寫入配置文件裏:
'SITE_TITLE' => '我愛開發網', //網站title
在操做裏或者模板裏,能夠經過 ThinkPHP 提供的 C 方法方便的取出配置參數:
public function getConfig(){ header("Content-Type:text/html; charset=utf-8"); echo C('SITE_TITLE'); //輸出:我愛開發網 }
ThinkPHP 爲一些經常使用的操做定義了快捷方法,這些方法以單字母命名,如上面例子中取配置信息的 C 方法。

系統默認配置

咱們在訪問一個基於 ThinkPHP 的應用時, ThinkPHP 會首先加載系統默認配置選項。
系統默認配置文件爲 ThinkPHP 核心包 ThinkPHP/Common 目錄內的 convention.php 文件。加載了系統默認配置後再加載項目配置文件 Conf/config.php 裏的配置以覆蓋 convention.php 裏面的配置。因此當須要修改項目的個性化配置時,修改項目目錄內的配置文件 Conf/config.php 便可。
相關文章
相關標籤/搜索