Laravel 依赖注入源码解析

在 Laravel 的控制器的构造方法或者成员方法,都可以通过类型约束的方式使用依赖注入,如:

这里 $request 参数就使用了类型约束,Request 是一个类:\Illuminate\Http\Request,表示参数必须是这个类或子类。

本文通过分析 Laravel 的源码,看为什么方法中不需要传入实例就可以直接使用 Request 呢?只是框架自动帮我们实例化并传参了。

继续阅读“Laravel 依赖注入源码解析”

Laravel构造函数自动依赖注入

在Laravel的构造函数中可以实现自动依赖注入,而不需要实例化之前先实例化需要的类,如代码所示:

继续阅读“Laravel构造函数自动依赖注入”

Python3单例模式示例

当我们理解了Python的__new__方法后,我们还可以利用它来做一些其他有趣的事情,比如实现设计模式中的单例模式(singleton) 。

因为类每一次实例化后产生的过程都是通过__new__来控制的,所以通过重载__new__方法,我们可以很简单的实现单例模式。

先看在python3中怎么实现单例模式:

继续阅读“Python3单例模式示例”