我正在使用Laravel 4,我想在此框架中使用第三方软件包。我这样做是为了安装它:
1)将包名添加到composer.json文件
2)运行composer update
命令
现在我在/ vendors文件夹中提供了包。我的问题是,现在如何在Laravel中使用它?
查看config / app.php文件,我无法将其添加到“providers”数组中,也不能将其添加到“别名”。
当我尝试直接在控制器中实例化该包类时,我收到错误“Class not found”(我尝试了全名到该类:$pack = new /vendor/package.../class.php
)
有关如何在laravel中包含和使用该课程的任何帮助都非常感谢
答案 0 :(得分:5)
如果包提供ServiceProvider,请将其添加到app/config/app.php
。
否则作曲家已经为你做了自动加载,所以你只需要:
$package = new Package;
在包名称空间的情况下,您必须:
$package = new PackageNamespace\Package;
要确定,请查看vendor/composer/autoload_*
文件,通常是vendor/composer/autoload_classmap.php
,搜索包名称或类名,然后您将看到它的命名方式。或者只是看看主包源文件,通常在:
vendor/vendorName/packageName/[src or lib or whatever]/Package.php
修改
我刚刚在这里安装并做了:
Route::get('test', function()
{
dd(new WideImage\WideImage);
});
像魅力一样工作。这个包是在我上面写的“命名空间”的情况下。