container 的背后

 如果要看laravel的单个功能的源代码,首先去找对应得ServiceProvider,例如加密功能hash,则按一下步骤查看源代码:

    HashServiceProvider.php(主要是看register方法)

singleton()方法就是将BcryptHasher这个类实例化一次,然后在哪里都可以用,这个方法存在container类里面

总结一下:

当app()中传入键名时,laravel回去找对应的serviceprovider文件

如果传入的是一个类或者是contract的话laravel会在背后的application.php文件查找

原文地址:https://www.cnblogs.com/maggie-php/p/5794707.html