本文簡要的介紹了如何從無到有的創建一個基于thinkphp框架的項目,并對項目進行相應的配置以及一些基本原理的介紹,在介紹的過程中涉及到的具體內容都可以去thinkphp官方網站下載核心包或者完全包、幫助文檔進行學習.
那這里工程中我們可以直接下載核心包即可,可以將該包解壓放置在任何位置,只要我們的項目能夠訪問得到,假設我們的項目在coomy文件夾下,統計目錄放核心文件夾名為thinkphp.
入口文件
首次訪問項目時訪問的php文件,在開始項目之前,可以在任意位置創建一個php文件,在該文件中引入thinkphp核心文件,并自動生成項目目錄,在瀏覽器中訪問該入口文件后,彈出“Hello!歡迎使用thinkPHP!”的頁面說明項目創建成功,下面的示例在coomy文件夾中創建create.php文件,并加入以下代碼:
require '../thinkphp/ThinkPHP.php';
App::run();
這樣在瀏覽器中訪問http://localhost/coomy/create.php后,便會發現目錄coomy中生成了以下文件夾:
|—-Common 公共函數區
控制器用來接收用戶的輸入,并調用模型和視圖去完成用戶的需求,模型則定義了一個網站的數據庫相關業務邏輯,這是MVC框架的基本概念,這里不做過多介紹.
URL訪問說明
http://localhost/index.php/ActionName/FunctionName
以上URL表示訪問項目下的ActionName控制器下的FunctionName函數,那么接下來就只要創建控制器就行了.
創建控制器:
定義類文件—定義類方法,存放位置Lib/Action.
命名規則:
控制器名+Action.class.php
那我們直接在Lib/Action文件夾中創建一個CoomyAction.class.php文件,并打開文件創建控制器:
- class CoomyAction extends Action{
- function index(){
- echo "hello world!";
- }
- function hello(){
- echo "hello php";
- }
- }
由此創建之后,假如我們想要輸出”hello php”,則可以通過localhost/index.php/coomy/hello即可,如果想輸出”hello world!”的話,則直接通過localhost/index.php/coomy即可,因為index函數是默認的.
注意:index.php必須是入口文件,命名可以隨意
項目配置文件
thinkphp所有配置項的默認值都在其核心代碼的Common/convention.php中,而如果我們想要自定義的話,則可以在我們的項目目錄中找到Conf文件夾下的config.php,并在該文件中對我們的項目進行配置,如數據庫連接配置:
- <?php
- true, // 是否開啟調試模式
- 'DB_TYPE' => 'mysql', // 數據庫類型
- 'DB_HOST' => 'localhost', // 服務器地址
- 'DB_NAME' => 'test', // 數據庫名
- 'DB_USER' => 'root', // 用戶名
- 'DB_PWD' => '', // 密碼
- 'DB_PORT' => 3306, // 端口
- 'DB_PREFIX' => '', // 數據庫表前綴
- 'DB_SUFFIX' => '', // 數據庫表后綴
- 'DB_FIELDTYPE_CHECK' => false, // 是否進行字段類型檢查
- 'DB_FIELDS_CACHE' => true, // 啟用字段緩存
- 'DB_CHARSET' => 'utf8', // 數據庫編碼默認采用utf8
- 'DB_DEPLOY_TYPE' => 0, // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器)
- 'DB_RW_SEPARATE' => false, // 數據庫讀寫是否分離 主從式有效
- );
- ?>
以上便對我們的項目數據庫進行了配置,有了這些配置之后,我們便可以在控制器中,對數據庫進行添刪改操作了,如:
- M(“tableName”)->add($data) //向tableName表中插入data數據
- M(“tableName”)->save($data) //向tableName表中更新data數據
- M(“tableName”)->select() //讀取tableName表中的數據
- M(“tableName”)->delete($id) //從tableName表中刪除id=$id的數據
使用模板
說了半天,都是和數據庫交互的,這一般都是后臺的代碼,那前臺的代碼寫在哪里?當然,是在模板中,模板使一個頁面的UI和響應處理程序分隔開來,使他們各行其道,這也正是MVC的精髓吧,在ThinkPHP中,模板與控制器是要一一對應的.
存放位置:模板存放于Tpl/default目錄之下;
命名規則(對應):建立一個與控制器齊名的文件夾,在其中建立一個與控制器函數齊名的html文件;
localhost/Lib/Action/TestAction.class.php (function myTestFun..)
localhost/Tpl/test/mytestfun.html
使用模板:在控制器的任意函數中調用display()方法,即可通過url訪問該函數顯示模板,那進一步我們也就可以在模板函數中,對數據進行處理或者控制模板的輸出了.
除此之外,thinkphp還內置了模板引擎,支持很多模板標簽,如變量標簽,我們可以在HTML文件的任意位置使用{$attriName}類似的標簽,來從后臺控制器中獲取值,那在控制器中則需要指派該變量,最簡單的方法則是通過屬性指派:
1 $this->attriName = "value";
如此,模板引擎便會通過變量輸出attriName,如此一來,模板負責顯示變量,而控制器負責處理.我們便可以通過thinkphp開始我們的開發了.
新聞熱點
疑難解答
圖片精選