2016-04-29 103 views
2

我有一些关于laravel 5框架的初学者中间问题。关于laravel 5的一些问题

  • 何时使用立面以及何时使用DI。对于Laravel全新的人来说,这两个概念有点难以理解。这是一个例子。

<?php namespace App\Http\Controllers; 
 

 
use Illuminate\Http\Request; 
 
use Illuminate\Routing\Controller; 
 

 
class UserController extends Controller { 
 
    public function store(Request $request) 
 
    { 
 
     $name = $request->input('name'); 
 
    } 
 
}

VS如果我们想创建自己的类中使用这个

<?php namespace App\Http\Controllers; 
 

 
use Request; // Facade of Illuminate\Http\Request 
 
use Illuminate\Routing\Controller; 
 

 
class UserController extends Controller { 
 
    public function store() 
 
    { 
 
     $name = Request::input('name'); 
 
    } 
 
}

  • 使用哪里可以将我们自己的类放在laravel默认文件夹结构中?

  • 照明由作曲家组装?我们如何从照明命名空间知道要使用哪些类?

  • 如果项目托管在laravel附带的默认php服务器以外的其他服务器上,那么我们是否需要更改.htaccess?

  • -

回答

0

从理论上讲,Laravel门面最终是为了方便而存在的。如果你观察到你广泛使用同一个门面,也许你需要将它用作依赖注入。

以请求门面为例,由于您始终重申其值,因此始终将其用作依赖项注入。在代码可维护性方面

更先进的答案: “依赖注入可以让你从具体实施的任何资源它是你正在使用的,所以理论上你可以换出一个解耦你的代码MySQL数据库类只要它们都遵守同一个合同,就可以用于完全不同类型的数据库。“

这些讨论可以帮助你:

Dependency Injection or Facades?

Using Dependency Injection over Facades

+0

请不要只是帖子的链接作为答案。链接可能会改变或变得不可用,将来您的答案将变得毫无用处。 – LW001

+0

对不起那个男人。新手在这里。这是注意到的。我只是想帮助别人。 –

+0

你可以在链接中引用重要部分 – LW001