ThinkPHP 學習筆記 (一)

    今天開始記錄本身thinkphp的學習過程 php

    首先學習是經過http://www.5idev.com/p-thinkphp_intro.shtml網站來學習的,這裏的教程很清晰明瞭,因此我這裏只是記錄本身之後可能用到或者容易忘記的內容。接下來就開始了: html

    1、開發的第一步,配置咱們的入口文件 thinkphp

    首先咱們要設置咱們本身的入口配置文件。在thinkphp中,項目只有一個入口,也就是thinkphp包外面的index.php文件,在理面咱們要這是一下咱們項目的路徑以及一些配置信息。在入口文件中,定義了項目名稱及路徑、是否開啓調試模式、加載框架入口文件 ThinkPHP.php。 數據庫

<?php
//入口文件
//定義項目名稱和路徑
define('APP_NAME', 'myapp');
define('APP_PATH', './myapp/');
//開啓調試模式
define('APP_DEBUG',true);
// 加載框架入口文件
require("./ThinkPHP/ThinkPHP.php");
?>
     2、配置項目所須要的常量

    ThinkPHP提供了靈活的配置功能,採用最有效率的 PHP 返回數組方式定義方式。系統支持慣例配置項目配置分組配置、調試配置和動態配置等 5 種配置模式。
    以上各類配置模式,採用了分層模式,層次體如今:慣例配置->項目配置->調試配置->分組配置->擴展配置->動態配置。這個層次的意思是,後面配置的選項會覆蓋前面同名的配置選項,即優先順序從右到左。
    慣性配置:就是咱們thinkphp包中的conf文件夾下面的convention.php文件,它定義了
系統所須要的大多數參數。
    項目配置:也就是咱們項目所在的app文件夾下面的Conf/config.php文件,他將會覆蓋慣性配置中重複的參數。
    調試配置:路徑位於Conf/debug.php。首先咱們先須要打開調試define("APP_DEBUG",true);這時咱們能夠把咱們調試時候用的配置寫進去,好比數據庫鏈接的配置配成本地的。 數組

    分組配置:好比咱們在項目中設置了分組模式Home,這是分組配置的路徑是Conf/Home/config.php 緩存

    擴展配置:配置擴展配置須要如今項目配置中設置 app

'LOAD_EXT_CONFIG'=>'user',//設置Conf/user.php
// 還能夠定義多個擴展配置文件
'LOAD_EXT_CONFIG'=>'user,db',
    

    項目配置文件在部署模式的時候會歸入編譯緩存,也就是說編譯後再修改項目配置文件就不會馬上生效,須要刪除編譯緩存後才能生效。擴展配置文件則不受此限制影響,即便在部署模式下面,修改配置後也能夠實時生效。基於擴展配置的以上特性,一般擴展配置是爲了某些特殊的須要,而從項目配置裏面分離出來的一些配置信息,這樣的目的是爲了便於維護和管理。 框架

    3、設置項目的分組配置
    http://www.5idev.com/p-thinkphp_group_config.shtml
    在系統配置文件(Config/config.php)裏面進行簡單的項目分組配置便可開啓項目分組。設置APP_GROUP_LIST參數便可開啓分組配置。
    與項目分組模式有關的配置有五個: ide

配置選項 說明 例子或建議
APP_GROUP_LIST 項目分組全部名稱列表,若不設置則表示不啓用項目分組模式 'APP_GROUP_LIST'=>'Home,Admin,User,Blog',
DEFAULT_GROUP 默認的項目分組名稱,系統默認是 Home 'DEFAULT_GROUP' =>'Home',
APP_GROUP_DEPR 項目分組之間的分割符,默認是 . (點),用於 A函數 D函數 和 路由配置中的分隔 建議默認
TMPL_FILE_DEPR 模板文件中模塊與操做之間的分割符,默認是 / ,只對項目分組部署有效 建議默認,可以使用 U 方法自動生成 URL
VAR_GROUP 獲取項目分組名稱的變量,默認是 g index.php?g=Admin&m=Index&a=edit,建議默認


    若是設置了項目的分組模式,那麼模板、模型均可以經過建立分組文件夾來進行分組管理。
    模型:能夠經過$user = D('Admin.UserView');來加載 Lib/Model/Admin/UserViewmodel.class.php 文件。實際上 Model 下的目錄跟項目分組沒有必然的對應關係,使用 D('Test.UserView') 的時候,系統會自動對應 Lib/Model/Test/UserViewmodel.class.php 文件,而不關心 Test 是不是一個項目分組。

    模板輸出:
    一、輸出當前模塊其餘操做的模板 函數

$this->display('操做名');
    二、輸出當前分組項目其餘模塊及操做的模板
$this->display('模塊名:操做名');
// 或者:
$this->display('模塊名/操做名');
// 例子:
$this->display('Article/add');
    三、輸出其餘分組項目模板
$this->display('分組名:模塊名:操做名');
// 或者:
$this->display('分組名:模塊名/操做名');
// 例子:
$this->display('Home:Article/read');

    項目分組中的U方法生成URL: 

U('分組名-模塊/操做?參數')
    例子:
<a href="{:U('Blog-Article/read?id=12345')}" target="_blank">點擊查看該文詳情</a>
    結果: http://www.5idev.com/Blog/Article/read/id/12345.shtml

    

    4、設置項目的模板

    能夠再項目配置中設置'TMPL_TEMPLATE_SUFFIX'=>'.php'來改變模板的後綴。若是開啓分組的話,須要在tpl文件夾下建立分組文件夾/控制器文件夾/action文件。例如./Tpl/Home/Index/index.php
    在模板中使用引用其餘模板的方法:
    <include file="Oauth:index" />//比如是在Home分組,應用的文件的路徑是/Tpl/Home/Oauth/index.php

    5、設置項目的

相關文章
相關標籤/搜索