为什么有人会用这个:
function flash($title)
{
$flash = app('App\Http\Flash');
return $flash->message('This is a flash message');
}
Run Code Online (Sandbox Code Playgroud)
对此:
use App\Http\Flash;
function flash($title)
{
$flash = new Flash;
return $flash->message('This is a flash message');
}
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我们获取可用的容器实例.
在第二种情况下,我们加载Flash类并在我们的flash方法中实例化它.
我见过有人使用第一种方法,我想知道使用第二种方法是否有任何区别.
Sil*_*law 10
如果你在你的例子中使用它 - 你将没有利润.但是Laravel容器在这种解析中提供了更多的功能,而使用简单的实例化对象无法实现.
Countable在任何地方使用某个接口作为目标来从容器中解析但是接收它的实现.)还有许多其他实践......你可以在这里阅读更详细的http://laravel.com/docs/5.1/container