Php 这就是我在拉威尔写桥的方式吗?
我正在拉雷维尔写一座图书馆和拉雷维尔之间的桥梁,我认为最好的方法是写一个服务提供商包。它将是一个包含一个类的包,该类如下所示:Php 这就是我在拉威尔写桥的方式吗?,php,unit-testing,laravel-5.2,mockery,service-provider,Php,Unit Testing,Laravel 5.2,Mockery,Service Provider,我正在拉雷维尔写一座图书馆和拉雷维尔之间的桥梁,我认为最好的方法是写一个服务提供商包。它将是一个包含一个类的包,该类如下所示: <?php namespace Eve\Service\Provider; use Illuminate\Support\ServiceProvider; use EveOnline\Items\Details; class EveMarketProvider extends ServiceProvider { protected $defer
<?php
namespace Eve\Service\Provider;
use Illuminate\Support\ServiceProvider;
use EveOnline\Items\Details;
class EveMarketProvider extends ServiceProvider {
protected $defer = true;
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(Details::class, function ($app) {
return new Details();
});
... // More classes.
}
public function provides()
{
return [
Details::class,
... // More classes.
];
}
}
这段代码非常适合依赖项注入。例如,您可以将EveOnline\Item\Details
注入控制器方法。您将得到一个实例。但是,如果你还想做Details::class
,你也需要一个门面。我必须创建单独的门面,因为我能够创建一个大型服务提供商来注册所有的类。我的问题一直没有得到回答:我如何为此编写测试?还是我?我是不是要把它们指向实际库的测试——它本身?