2015-07-10 84 views
0

我正在开发一个L5.1中的包。Laravel 5.1 Package Dependancies Error

上市https://github.com/crodas/TextRank作为扶养和作曲家已经把它。

新增$this->app->register('crodas\TextRank\Config’);寄存器方法在我的服务提供商,但是当我尝试运行应用程序,我得到一个'类“crodas \ TextRank \ Config中不发现错误

我相信我只是缺少一些小东西!提前致谢!!

回答

0

要将该软件包与Laravel集成,您需要创建自定义服务提供程序。 Laravel docs有完整过程的一个很好的例子这对于你的情况是相似的:

创建一个服务提供商

php artisan make:provider TextRankServiceProvider 

定制服务提供商的(文件​​)

<?php 

namespace App\Providers; 

use crodas\TextRank\Config; 
use crodas\TextRank\TextRank; 
use Illuminate\Support\ServiceProvider; 

class TextRankServiceProvider extends ServiceProvider 
{ 
    /** 
    * Register bindings in the container. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     $this->app->singleton('TextRank', function ($app) { 
      $config = new Config; 
      return new TextRank($config); 
     }); 
    } 
} 

Register service providerApp\Providers\TextRankServiceProvider::class添加到文件config/app.php

对于使用包年龄

$keywords = app('TextRank')->getKeywords($some_long_text); 

注意:该代码尚未经过实际测试。我只是遵循TextRank包和Laravel的说明。

+0

嘿Javi,我仍然得到类'crodas \ TextRank \ Config找不到错误。我也试图简单地跟随这两个文档。任何其他想法?我发现奇怪的是,错误行在注册方法中,而不是顶部的使用语句。 – Damian

+0

我现在试过了代码,它的工作原理。 '未找到类'表示作曲家无法找到该类。您是否使用Composer安装软件包?要做到这一点,添加''最小稳定性“:”开发“''你的'composer.json文件'和运行'作曲家需要crodas /文本排名' –

+0

正如我在原来的帖子中说我用这个作为依赖我自己的包裹。我设法通过在您的示例的顶部添加作曲家自动载入文件来实现这一目标。 – Damian