Thinkphp5.1

384 阅读1分钟

几个重要的概念:

容器:

类似于把很多对象实例绑定到数组上。需要的时候从这个数组里面取出来 个人见解,源码有点长什么反射都会出现

钩子和行为:

在tags.php里面静态绑定一个钩子和一个行为。 钩子类似于告诉代码什么时候要去触发行为。

Hook::listen一个钩子之后,会在tags里面找这个钩子,看哪个行为类绑定到这个钩子里面。[注意看tags.php里面的命名空间]

最后一个表示类,如果你这个类只有一个行为那么直接一个run方法进行调用你的行为就可以了

门面:

通俗的说, 你在application目录下创建一个普通的A类

然后你在facade目录下创建一个B类去继承门面,然后getFacedeClass方法下返回绑定的那个实际类的命名空间。

这样你就能通过B类静态的调用A类里面动态的方法了

中间件:

php think make:middleware

使用这个命令之后会在application目录http目录下之创建一个叫Check 的 中间件。在HTtp目录下很好理解,就是每次http网络请求的时候都会去执行的东西叫中间件。 中间件执行方法是固定的,第一个是request对象,第二个是闭包函数。

是前置中间件还是后置中间件完全取决你的代码是在return之前还是$next函数之前还是之后。