大體看了一下,覺得ThinkPHP真是一個不錯的框架。我個人認為使用框架最大的好處是:它給你做了很多事情,而且做得很好!
ThinkPHP目前版本到了3.2,沒敢用最新的,使用3.1作為學習目標,因為資料查閱起來相對多一些 :-)
現在在ThinkPHP基礎上還了OneThink、WeiPHP,都是很不錯的開源框架,謝謝作者的辛苦付出!
-------------------------------------------華麗的開始分割線------------------------------------------------------------------
言歸正傳,開始學習。
首先到官網下載需要的包:
http://www.thinkphp.cn/
解壓到網站目錄下,然后在網站根目錄下建立一個簡單的入口文件:index.php:
<?php //定義項目名稱和路徑 define('APP_NAME', 'App'); define('APP_PATH', './App/'); define('APP_DEBUG',TRUE); // 加載框架入口文件 require( "./ThinkPHP/ThinkPHP.php");
詳細的介紹請參考官方文檔,在此不再抄一遍了。
然后在瀏覽器中訪問:
http://localhost
哇,看到了嗎?竟然運行起來了!
:)
歡迎使用 ThinkPHP!
就這么簡單到沒有朋友!
運行后系統會自動給你生成各種目錄及缺省的框架文件,我喜歡 :-)
好吧,我們要故意做得復雜一點,將項目建立前台和后台:
在App/Conf中的config.php中配置一下:
<?php return array( //'配置項'=>'配置值' 'URL_MODEL' =>3, // 如果你的環境不支持PATHINFO 請設置為3 'DB_TYPE' => 'mysql', 'DB_HOST' => 'localhost', 'DB_NAME' => 'studyphp', 'DB_USER' => 'root', 'DB_PWD' => '', 'DB_PORT' => '3306', 'DB_PREFIX' => 'think_', 'APP_AUTOLOAD_PATH' => '@.TagLib', 'APP_GROUP_LIST' => 'Home,Admin', 'DEFAULT_GROUP' => 'Home', 'APP_GROUP_MODE' => 1, 'SHOW_PAGE_TRACE' => 1//顯示調試信息 ); ?>
在App下建立Modules目錄,然后在Modules下依次建立Home,在Home中依次建立:Action、Model、Tpl目錄。然后在Action中建立一個索引文件:
IndexAction.class.php:
<?php class IndexAction extends Action{ public function index(){ echo 'Hello,ThinkPHP !'; } }
好了,再訪問http://localhost:
Hello,ThinkPHP !
我們的項目已經可以分組管理了!當然,Admin組的建立同Home,這里不再描述。
什么?模板輸出的太簡單?好吧,我們搞個漂亮點的顯示,在Tpl中建立Index目錄,在Index目錄下建立一個index.html文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ThinkPHP</title> </head> <body> <div class="main"> <h2>{$hello}</h2> </div> </body> </html>
這回滿意了?
恩,我承認,我只是將要輸出的字體簡單處理了一下:
<h2>{$hello}</h2>
來,修改一下后台(有后台,是不是腰板比較硬?說的是腰板噢)
<?php class IndexAction extends Action{ public function index(){ $hello='Hello,ThinkPHP !'; $this->assign('hello',$hello); $this->display(); } }
這回算這個示例算是比較完整了,我們使用了框架,程序分了組,設置了輸出模板,一個簡單的從后台到前台的系統就建立起來了。
等等,上面配置的數據庫干嘛?后面會用得上。
-------------------------------------------華麗的結束分割線------------------------------------------------------------------
且聽下回分解!