如果要看laravel的单个功能的源代码,首先去找对应得ServiceProvider,例如加密功能hash,则按一下步骤查看源代码:
HashServiceProvider.php(主要是看register方法)
singleton()方法就是将BcryptHasher这个类实例化一次,然后在哪里都可以用,这个方法存在container类里面
总结一下:
当app()中传入键名时,laravel回去找对应的serviceprovider文件
如果传入的是一个类或者是contract的话laravel会在背后的application.php文件查找