2015-08-09 39 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

相关问题