進入 Myapp\Lib\Action 目錄,裏面有個 IndexAction.class.php 文件。該文件爲剛纔咱們運行入口文件 index.php 時系統自動生成的。打開該文件,其內容大體以下(方法內具體代碼省略): php
<?php // 本類由系統自動生成,僅供測試用途 class IndexAction extends Action{ public function index(){ 具體代碼略…… } } ?>
該文件已經演示了一個基於 ThinkPHP 的實際應用。 html
像上面這個 IndexAction.class.php 這樣的特殊文件,稱爲控制器。該類文件一般位於 Lib\Action 下面,命名方式必須以「模塊名+Action.class.php」樣式來命名,如 IndexAction.class.php ,詳細可參考《ThinkPHP 命名規範》章節。 mysql
一個控制器對應一個模塊。如 IndexAction.class.php 就對應 Index 模塊,相應的類名爲 IndexAction ,如上面的例子: sql
class IndexAction extends Action
一個模塊(類)裏有多個方法,稱之爲「操做」。如上面例子的 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兼容模式 ); ?>
'DB_PREFIX'=>'',
若是更改了配置選項,須要刪除 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 便可。