2015-08-09 41 views
2

我想了解如何在Laravel的app.php的providers數組中構建各種composer包的路徑。一些文檔包括你需要複製/粘貼的行,但我想知道如何自己做這個。將Composer包添加到Laravel Providers array

的JWTAuth封裝具有以下行:

Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class 

但是,路徑這個類是tymon \ JWT-AUTH \ SRC \ JWTAuthServiceProvider.php

我想知道這條路是如何構建的。

接下來我想知道如何在提供者數組中包含Woothemes/Woocommerce api包。我如何構建這條路?

該軟件包可以在https://packagist.org/packages/woothemes/woocommerce-api

找到我做了一些研究,發現這個包是不是專爲Laravel寫的。引導文件woocommerce-api.php只包含類的require_once()函數。

難道是可以接受的事,

require_once base_path('vendor/woothemes/woocommerce-api/woocommerce-api.php'); 

在我的控制文件?

回答

2

Tymon\JWTAuth\Providers\JWTAuthServiceProvider 

不是一個文件系統路徑,它是類的命名空間。

由於您鏈接的軟件包不是爲laravel編寫的,因此目前還沒有ServiceProvider,但you are free to create one

但是,您可以在laravel中使用沒有ServiceProvider的每個外部軟件包。你不會require_once什麼,但你會

use FullNamespace\Name\To\Class 

在你的文件的頂部,例如看看你的控制器之一,它是相同的,如下:

<?php namespace App\CreateTables; 

use Config; 
use Illuminate\Database\Schema\Blueprint; 
use MeineBuyBox\UserDatabase; 
use Schema; 

這樣的話,你打算使用這個類你會需要它在文件中加載,你現在可以使用它。

+0

爲需要工作的類添加「use」語句,但我在app目錄中添加了「庫文件夾」,並將此文件夾包含在composer.json中。作曲家轉儲自動加載和錯誤消失了。 –

+0

你在'庫文件夾'中包含了什麼?我希望它不是這個包,因爲當你做'composer update'時,這個包將被忽略。 – user2094178

相關問題