Car*_*cce 6 php dependency-injection laravel laravel-5 laravel-facade
我只是从laravel开始,想要了解这一点......
让我们说我们的应用程序中有一个类:
namespace App\Tests;
class MyTest{
public function sayHello($name){
echo "Hello, $name!";
}
public static function anotherTest(){
echo "another test...";
}
}
Run Code Online (Sandbox Code Playgroud)
创建一个Facade和一个服务提供者而不仅仅是使用它有什么好处
use App\Tests\MyTest;
//... controller declarations here ....
public function someaction(){
$mt = new MyTest();
$mt->sayHello('John');
//or
MyTest::anotherTest();
}
//... etc...
Run Code Online (Sandbox Code Playgroud)
Laravel 中的Facade只是从服务容器获取对象并调用其方法的便捷方法。
所以像这样调用 Facade :
//access session using a Facade
$value = Session::get('key');
Run Code Online (Sandbox Code Playgroud)
就像做:
//access session directly from the Service Container
$value = $app->make('session')->get('key');
Run Code Online (Sandbox Code Playgroud)
当外观session
从服务容器中解析出密钥并调用get
其上的方法时
一旦了解了 Facade 的作用,您就应该了解什么是 Service 容器以及使用它的好处是什么
Laravel 云中的服务容器是应用程序的依赖注入容器和注册表
我之前的一个答案和文档页面中阐述了使用服务容器相对于手动创建对象的优势,但简要说明如下:
归档时间: |
|
查看次数: |
423 次 |
最近记录: |