ThinkPHP學習(一)

我是在新浪的SAE上安裝ThinkPHP,SAE引擎的,直接安裝源代碼包,而後啓動Memcache和MySql服務就能夠運行成功了。
已經下載了wampserver,之後有時間試下在本地運行ThinkPHP。
app/lib/Action/文件夾下能夠爲每個模塊定義控制器類,一個模塊能夠包含多個操做方法,當有請求的時候,會從URL參數中解析當前請求的模塊和操做。好比定義的默認控制器類IndexAciton.class.php:php

<?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服務模擬器功能測試(如下服務在本地也能夠運行):</h2>";
    }
}

訪問http://localhost/,系統會訪問默認的模塊(Index)的默認操做(index)。相對的輸入http://localhost/Index/imit,系統就會訪問默認的模塊(Index)的操做方法(imit)。這種URL模式是PATHINFO模式,ThinkPHP的默認格式,還能夠在ThinkPHP/Conf/convention.php裏設置其餘格式,如普通模式、REWRITE模式和兼容模式。html


只是筆記,爲何不能設置爲僅本身可見呢,我寫的亂七八糟都很差意思給人看啊。app


URL請求的REWRITE模式,是在PATHINFO模式的基礎上添加劇寫規則的支持,Apache的話,是在入口文件同級處添加.htaccess文件,內容是:ide

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

只有這樣是不行的,還須要開啓Apache的rewrite功能。在httpd.conf配置文件中找到LoadModule rewrite_module modules/mod_rewrite.so去掉前面的#,找到AllowOverride None改成AllowOverride All。如此纔有效。測試

相關文章
相關標籤/搜索