Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这就是我在拉威尔写桥的方式吗?_Php_Unit Testing_Laravel 5.2_Mockery_Service Provider - Fatal编程技术网

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
,你也需要一个门面。我必须创建单独的门面,因为我能够创建一个大型服务提供商来注册所有的类。我的问题一直没有得到回答:我如何为此编写测试?还是我?我是不是要把它们指向实际库的测试——它本身?