已經(jīng)下載了wampserver,以后有時(shí)間試下在本地運(yùn)行ThinkPHP。
在app/lib/Action/文件夾下可以為每一個(gè)模塊定義控制器類,一個(gè)模塊可以包含多個(gè)操作方法,當(dāng)有請(qǐng)求的時(shí)候,會(huì)從URL參數(shù)中解析當(dāng)前請(qǐng)求的模塊和操作。比如定義的默認(rèn)控制器類IndexAciton.class.php:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php class IndexAction extends Action{ ptotect function _initialize(){ header( "Content-Type:text/html;charset=utf-8" ); } public function index(){ $this ->display(); } public function imit(){ echo "<h2>Sae服務(wù)模擬器功能測(cè)試(以下服務(wù)在本地也可以運(yùn)行):</h2>" ; } } |
訪問(wèn)http://localhost/,系統(tǒng)會(huì)訪問(wèn)默認(rèn)的模塊(Index)的默認(rèn)操作(index)。相對(duì)的輸入http://localhost/Index/imit,系統(tǒng)就會(huì)訪問(wèn)默認(rèn)的模塊(Index)的操作方法(imit)。這種URL模式是PATHINFO模式,ThinkPHP的默認(rèn)格式,還可以在ThinkPHP/Conf/convention.php里設(shè)置其他格式,如普通模式、REWRITE模式和兼容模式。
只是筆記,為什么不能設(shè)置為僅自己可見(jiàn)呢,我寫的亂七八糟都不好意思給人看啊。
URL請(qǐng)求的REWRITE模式,是在PATHINFO模式的基礎(chǔ)上添加重寫規(guī)則的支持,Apache的話,是在入口文件同級(jí)處添加.htaccess文件,內(nèi)容是:
1
2
3
4
5
6
|
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/ $1 [QSA,PT,L] </IfModule> |
只有這樣是不行的,還需要開(kāi)啟Apache的rewrite功能。在httpd.conf配置文件中找到LoadModule rewrite_module modules/mod_rewrite.so去掉前面的#,找到AllowOverride None改為AllowOverride All。如此才有效。