首頁  >  文章  >  後端開發  >  thinkphp5入門該了解的知識

thinkphp5入門該了解的知識

dream
dream原創
2017-07-02 09:49:161970瀏覽

一:模組設計

預設採用單模組,支援單模組,所有模組用app作為根命名空間

可以建立common模組,但是不能直接存取,可以在其它模組中存取,提高安全性

common 類別可以被任意繼承

二:tp5的設定

1 慣例配置

#定義配置目錄

在入口檔案中

define('CONF_PATH',__DIR__.'/../conf/');

2 應用設定

在上節目錄中新建config.PHP

return array();

陣列裡面是組態項目

3 擴充配置

把不同的設定檔拆分成不能的設定檔,方便管理,在config目錄中新建擴充設定資料夾extra

然後直接新建設定檔

例如qiniu.php

設定格式與上相同

tp5 允許將database配置直接放在config資料夾下(與config.php同一層級)

4 場景設定

在比同場景使用的不同設定

在config.php中設定app_status,然後在extra中建立對應環境的設定

#5 模組設定

在config資料夾下建立和模組名稱相同的資料夾,然後新建config.php檔

模組配置的目錄和config目錄一致,可新建extra擴充配置,擴充配置只在對應模組下有作用

6 動態設定

a. 在控制器中的__construct 建構函式中使用助手函式config的組態項目可以在控制器中生效

b. 在方法中使用助手函式新建的組態項目只在改變方法中生效

7 config類別的使用

動態改變config配置,可以使用助手函數config()和使用config類別

config('key','value', '作用域')

判斷key是否存在

config('?key');

8 環境變數設定與使用 

三:路由

1 入口檔案

public/index.php 單一入口

2 隱藏入口檔案

#既是隱藏index.php

a開啟apache的rewrite模組,allowed all

b .htaccess 設定在public目錄下存在,不需要自己設定

2 入口檔綁定

綁定模組名稱,縮短uri

例如要綁定後台模組

在admin.php中定義           difine('BIND_MODULE','admin');   綁定後台模組

difine(' BIND_MODULE','admin/Index');綁定後台的Index控制器

#在設定檔中設定 'auto_bind_module'=>true 則可以不用再定義 difine('BIND_MODULE','admin') ; 

3 路由

先開啟路由(預設已開啟) 在設定檔中設定  'url_route_on'=>true,

   'url_route_must'=>false (為true則必須設定路由才能存取)

在設定檔中新建路由檔route.php

#直接寫入路由規則 

例如return array(

#'news/:id'=>'index/Index/news',

);

四: 請求

##1 request 請求

a 助手函數request()

b Thinkphp 的request類別

c 物件注入,把物件注入到方法中

2 請求物件request

#a取得瀏覽器中的連結

取得網域$request->domain()

#取得pathinfo $request->pathinfo()

取得path路徑$request- >path()

b 請求類型

目前請求的類型          $request->method();

#判斷是否為get請求    $request->isGetquest->isGet ()

判斷是否為ajax請求  $request->isAjax()

---判斷是否為手機       $request->isMobile();

c請求的參數

取得?後的參數 $request->get()

取得所有的參數(包括path中的) $request->param()

#取得post請求   $request->post()

取得session   $request->session()

取得cookie  $request->cookie()

d 取得模組,控制器,操作

$request->module();

        $request->controller();
        $request->action();##3 input助手函數

相當於tp3.2中的I函數

input('post.name')

input('get.name')

input('cookie.name)

input('session.name)

...

可以取得request中的各種參數

4 回應物件

config('default_return_type','json');透過動態修改傳回參數類型來進行return操作

更適用於api的封裝

#type類型支援json,xml,html(預設)

例如:

        config('default_return_type','json');

        $res = ['code'=>200,

                'data'=>[1,2,3,4,5,6,7,8,9]
            ];
   資料

五視圖

#直接顯示

return view();預設為app/分組名稱/view/控制器名稱/方法名稱.html

#傳遞第一個參數

return view('name') 默認傳送第一個參數為 app/分組名稱/view/控制器名稱/name.html

#return view('name1/name2') 預設 app/分組名稱/view/ name1/name2.html

return view('./index.html') 預設為index.php入口檔案同級目錄下的index,.html檔案


傳送值給範本

第二個參數為陣列形式

return view('name',['key'=>'value'])


#

以上是thinkphp5入門該了解的知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn