0

我是 laravel 4 的新手,我现在正在 Culttt.com 上关注 Laravel 教程。我在项目中添加了一个包并创建了一个外观来访问:Philipbrown/Suypo,它工作正常。

工作台\philipbrown\supyo\src\Philipbrown\Supyo\SuypoServiceProvider.phh

<?php namespace Philipbrown\Supyo;

use Illuminate\Support\ServiceProvider;

class SupyoServiceProvider extends ServiceProvider {

    protected $defer = false;

    public function boot()
    {
        $this->package('philipbrown/supyo');
    }

    public function register()
    {
        $this->app['supyo'] = $this->app->share(function($app)
        {
          return new Supyo;
        });
        $this->app->booting(function()
        {
          $loader = \Illuminate\Foundation\AliasLoader::getInstance();
          $loader->alias('Supyo', 'Philipbrown\Supyo\Facades\Supyo');
        });
    }

    public function provides()
    {
        return array('supyo');
    }

}

这是我的包的 composer.json 文件:

{
"name": "philipbrown/supyo",
"description": "",
"authors": [
    {
        "name": "ChaoMeng",
        "email": "cmeng@idfbins.com"
    }
],
"require": {
    "php": ">=5.4.0",
    "illuminate/support": "4.2.*"
},
"autoload": {
    "classmap": [
        "src/migrations"
    ],
    "psr-0": {
        "Philipbrown\\Supyo": "src/"
    }
},
"minimum-stability": "stable"
}

但是当我编写一些测试并使用 phpunit 运行它们时,它显示了这个错误:

致命错误:第 158 行的 C:\Dev\wamp\www\Culttt\laravel\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php 中找不到类 'Philipbrown\Supyo\SupyoServiceProvider'

我尝试运行命令:composer dump-autoload 但它不起作用。而且我没有在测试中调用或使用这个包,所以我真的不知道这里发生了什么,下面是我的test.php:

class CliqueTest extends TestCase {

    /**
     * Test that the name is required for Clique
     */
    public function testNameIsRequired()
    {
      // Create a new Clique
      $clique = new Clique;

      // Post should not save
      $this->assertFalse($clique->save());

      // Save the errors
      $errors = $clique->errors()->all();

      // There should be 1 error
      $this->assertCount(1, $errors);

      // The error should be set
      $this->assertEquals($errors[0], "The name field is required.");
    }

    public function testCliqueUserRelationship()
    {
      // Create a new Clique
      $clique = FactoryMuff::create('Clique');

      // Create two Users
      $user1 = FactoryMuff::create('User');
      $user2 = FactoryMuff::create('User');

      // Save Users to the Clique
      $clique->users()->save($user1);
      $clique->users()->save($user2);

      // Count number of Users
      $this->assertCount(2, $clique->users);
    }
}

所以请给我一个关于发生了什么的想法。提前致谢。

这是github中的全部代码:https ://github.com/mc422/laravel.git

4

0 回答 0