如何在Laravel中使用第三方包?

时间:2014-02-03 14:38:15

标签: php laravel laravel-4

我正在使用Laravel 4,我想在此框架中使用第三方软件包。我这样做是为了安装它:

1)将包名添加到composer.json文件

2)运行composer update命令

现在我在/ vendors文件夹中提供了包。我的问题是,现在如何在Laravel中使用它?

查看config / app.php文件,我无法将其添加到“providers”数组中,也不能将其添加到“别名”。

当我尝试直接在控制器中实例化该包类时,我收到错误“Class not found”(我尝试了全名到该类:$pack = new /vendor/package.../class.php

有关如何在laravel中包含和使用该课程的任何帮助都非常感谢

1 个答案:

答案 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);
});

像魅力一样工作。这个包是在我上面写的“命名空间”的情况下。