2015-07-10 63 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