phper学习laravel框架时候的一些概念
熟悉mvc方式框架的开发者,刚开始接触laravel时候,会有一点困惑,什么中间件,服务提供,门面等等,尤其注入依赖、容器仓库,让人马上觉得学习起来,老虎吃天无法下爪。。
其实,掌握一些php不常用的概念,学习起来就简单许多。
1、接口类。一种特别的类。和implements搭配使用。参考:https://www.cnblogs.com/hellowzd/p/5887910.html
其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候PHP接口类interface就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 :
1 2 3 4 5 6 |
interface Shop { public function buy($gid); public function sell($gid); public function view($gid); } |
我声明一个shop接口类,定义了三个方法:买(buy),卖(sell),看(view),那么继承此类的所有子类都必须实现这3个方法少一个都不行,如果子类没有实现这些话,就无法运行。实际上接口类说白了,就是一个类的模板,一个类的规定,如果你属于这类,你就必须遵循我的规定,少一个都不行,但是具体你怎么去做,我不管,那是你的事,如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class BaseShop implements Shop { public function buy($gid) { echo('你购买了ID为 :'.$gid.'的商品'); } public function sell($gid) { echo('你卖了ID为 :'.$gid.'的商品'); } public function view($gid) { echo('你查看了ID为 :'.$gid.'的商品'); } } |
你想想,在一个多人合作的大项目里面,有了接口类是多么的方便,这样你就不用去问别人,你的某某功能的方法名是什么了,当然如果你们喜欢这样我也没有办法。
结论 : PHP接口类interface就是一个类的领导者,指明方向,子类必须完成它指定方法。
2、学会使用 instanceof Closure 以及 Closure::bind 闭包、trait 类等概念
参考:https://www.cnblogs.com/tengjian/p/7999107.html
https://www.cnblogs.com/phpper/p/6993093.html【闭包用法比较详尽】
3、依赖和注入以及控制反转 【DI IOC】
参考:https://www.cnblogs.com/phpper/p/6994244.html
https://www.cnblogs.com/yszr/p/10680156.html [例子很简单的说明的用法,但是不要被带偏,要多看一下更复杂的例子。]
这个概念比较令人发狂,晚点我会做一些教程,让大家简单的学习复杂的概念。
4、了解:Facades 门面
可以先看:__call()和__callStatic()方法
参考:https://www.cnblogs.com/jacson/p/4620728.html
噢!评论已关闭。