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、依赖注入:架构函数注入、操作方法注入

还有其它注入方式:属性注入、方法注入

 

 

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