Php Laravel 5:app()辅助函数
为什么有人要用这个:Php Laravel 5:app()辅助函数,php,html,laravel,Php,Html,Laravel,为什么有人要用这个: function flash($title) { $flash = app('App\Http\Flash'); return $flash->message('This is a flash message'); } 在这方面: use App\Http\Flash; function flash($title) { $flash = new Flash; return $flash->message('This is
function flash($title)
{
$flash = app('App\Http\Flash');
return $flash->message('This is a flash message');
}
在这方面:
use App\Http\Flash;
function flash($title)
{
$flash = new Flash;
return $flash->message('This is a flash message');
}
在第一种情况下,我们将获得可用的容器实例
在第二种情况下,我们加载Flash类并在Flash方法中实例化它
我见过有人使用第一种方法,我想知道使用第二种方法是否有什么区别。如果你像你的例子那样使用它,你将没有任何利润。但是Laravel容器在解决这个问题上提供了更多的能力,这是用简单的实例化对象无法实现的
Countable
接口作为从容器解析的目标,但接收它的实现。)您可以在此处阅读更详细的内容因此,如果有选择,您是否建议始终使用第一个选项而不是第二个选项?据我所知,它们都是Laravel容器,不是吗?不,我建议您仅在需要它的特权时才使用Laravel容器。因为在您的示例中,一切都是正确的-如果您只需要新的Flash实例-不需要使用容器。容器是一种工具,但不是规则。也许这可以完成@Silwerclaw的想法