thinkphp學習日誌 2019.10.3

一、https://www.kancloud.cn/thinkphp/controller-in-detail  ThinkPHP5.0控制器從入門到精通

1、訪問控制器:爲了便於區分就把通過URL訪問的控制器稱之爲訪問控制器。

2、命名空間:PHP從5.3版本開始引入命名空間的概念,其主要作用是確保類名不會衝突,因爲在一個應用中,出現相同的類名的機率非常之大,並且你很難保證引入的第三方類庫不衝突,而有了命名空間後,相當於給自己的類加了一個門牌號一樣。

$controller = new \app\admin\controller\Index();

3、屬性注入相比較參數綁定似乎還麻煩一些,不過有一個明顯的優勢就是屬性注入是在整個請求的生命週期內在任何地方都可以獲取(別忘了請求對象是單例的),而參數綁定只能在操作方法中使用。

4、5.0不再支持普通的URL訪問方式,所以下面的訪問是無效的,你會發現無論輸入什麼,訪問的都是默認的控制器和操作^_^

http://tp5.com/index.php?m=index&c=Index&a=hello

pathinfo模式及兼容模式有效

http://tp5.com/index.php/index/index/hello     PATHINFO模式

http://tp5.com/index.php?s=/index/Index/index  兼容模式

5、路由:無論是配置方式還是通過Route類的方法定義路由,都統一放到路由配置文件application/route.php文件中。5.1的路由配置文件改爲route/route.php

6、行爲和鉤子:其中鉤子就是“行爲的位置”  :https://www.kancloud.cn/thinkphp/controller-in-detail/250877

鉤子的位置是事先設計好的,無論是框架還是應用的,要設置一個鉤子,只需要在相關的位置添加一行代碼(事先需要引入think\Hook類):

7、行爲都定義在namespace app\common\behavior中

A、定義一個公共的控制器基類,添加鉤子  Hook::listen

B、在application/tags.php中添加”配置綁定“行爲

C、在模塊的common.php文件中添加”動態綁定“行爲  Hook::add

8、依賴注入:架構函數注入、操作方法注入

還有其它注入方式:屬性注入、方法注入

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章