程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> thinkPHP學習筆記之安裝配置篇

thinkPHP學習筆記之安裝配置篇

編輯:關於PHP編程

     這篇文章主要介紹了一款國產MVC框架thinkPHP,這裡講訴的是thinkphp的安裝與配置,以及一個簡單實例,有需要的小伙伴可以參考下。

       

    國產框架thinkPHP,是一款MVC框架,這個框架最初模擬JAVA的struts框架,使用單一入口文件模擬JAVA的過濾器,使用action來模擬STRUTS的控制器ACTION,所以為什麼他的MVC之中,M是model,V是view,而control卻是action的原因。

    在3.2.3版本中,control改成了C,也是趨於形式,因為JAVA世界的springMVC開始流行,spring使用的control,不在使用action這種定義,其實action來表示control本身就有一定的誤導,control就C嘛,為什麼來一個aciton,讓人摸不著頭腦。

    thinkphp最難理解的是他的訪問方式,在官方文檔上面講解有點誤導人,按照官文一定出錯,是因為官文沒有講清楚!

    thinkphp的安裝其實很簡單,只要require他的主程序文件,就可以生成一些列的目錄,但是URL與他的control、tpl的關系是什麼呢?官文說得實在太含糊了,但凡使用過JAVA的人都會被官文忽悠到吐血!

    官文,能否條理清楚點!?

    實際使用過後總結了以下幾點:

    1,安裝thinkphp:

    和主程序thinkPHP同目錄下建立 admin.php或者其他的名字都可以

     

    代碼如下:
    <?php
    //定義項目名稱和路徑
    define('APP_NAME', ''); //名字時空的時候,就是生成的文件夾前不加前綴
    define('APP_PATH', './admin/');//這個是和主程序THINKPHP同目錄下生成admin目錄的意思
    define('APP_DEBUG', true);//開始編輯模式,文件強制編譯,不緩存
    // 加載框架入口文件
    require( "../ThinkPHP/ThinkPHP.php");//主程序入口文件

     

    2,文件目錄:

    自動生成的文件目錄是

    common:寫函數的地方

    conf:配置文件,例如配置數據庫連接地址

    lang:語言包,國際化

    lib:action,model都在這裡面,是一個比較重要的地方,和JAVA的lib是JAR包完全不同概念

    runtime:運行時的緩存文件

    tpl:模板,就是html文件

    3,訪問方法:

    URL:localhost/thinkphp/admin.php?m=Show&a=add

    解釋:本地/項目目錄/剛才建立的單一入口文件?model=類名&action=方法名

    意思:進入單一入口文件admin.php中的Show類中的add方法

    強調:類名是大寫開頭,小寫會找不到,這個把我害苦了,弄了一下午,原來是只認識大寫類名,小寫不認識

    infopath風格URL:localhost/thinkphp/admin.php/Show/add

    解釋:和默認的一樣,就是沒有寫出M A

    4,寫類,寫方法:

    thinkphp的作者一定是一個喜歡折騰的人,完美主義者,所以才會思考出這種方式來控制程序,整個程序都是以action類為核心,一個action類等於是一個頁面,裡面的方法就是和這個頁面相關的操作,什麼增刪改查啊,這個很符合國人的思考方式,但是復用性並不高。

    寫文件:lib/action/ShowAction.class.php

     

    代碼如下:
    <?php
    //Show就是類名,Action只是一個識別輔助,必須寫,但是可以調用的時候忽略,記得大寫哦,你小寫他也給你換成大寫開頭,讓你弄死找不到小寫show的模塊,m=Show
    class ShowAction extends Action {
    //add就是action的方法,a=add
    public function add(){
    //輸出頁面CC,他自動加載默認TPL目錄下Show文件下的cc.html文件,這裡如果沒有cc,就加載方法名字一樣的add.html,如果cc.html與add.html都沒有就報錯
    $this->display('cc');
    }
    }

     

    5,寫模板:

    上面提到了加載模板,現在就寫一個:

    tpl/Show/cc.html

     

    代碼如下:
    <html>一個普通HTML文件</html>

     

    以上就是本文的全部內容了,希望大家能夠喜歡。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved