我对laravel 5框架有一些初学者的中间问题。
<?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');
}
}
&#13;
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');
}
}
&#13;
如果我们想创建自己的类,我们可以将自己的类放在laravel默认文件夹结构中吗?
照明者正在组装照明吗?我们如何知道在illuminate命名空间中使用哪些类?
如果项目托管在laravel附带的默认php服务器以外的其他服务器上,我们是否需要更改.htaccess?
答案 0 :(得分:0)
理论上,Laravel外观最终是为了方便而存在的。如果您发现广泛使用相同的外观,可能需要将其用作依赖注入。
以Request facade为例,你总是将它用作依赖注入,因为你总是重申它的价值。
代码可维护性方面的更高级答案: &#34;依赖注入允许您将代码与您正在使用的任何资源的特定实现分离,因此理论上您可以将MySQL数据库类换成完全不同类型的数据库只要他们都遵守相同的合同。&#34;
这些讨论可能会对您有所帮助:
答案 1 :(得分:0)
如果要在实例化时致电任何服务帮助,请使用Dependency Injection。在构造函数中初始化服务。
创建对象后,您想要使用任何服务,而不是使用Facade。