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

Zac*_*ack 2 php laravel laravel-4

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

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

2)运行composer update命令

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

查看config/app.php文件,就我所见,我无法将其添加到"providers"数组,也不能将其添加到"别名"中.

当我尝试直接实例化包装类控制器我收到"类未找到"错误(我试过全名类:$pack = new /vendor/package.../class.php)

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

Ant*_*iro 6

如果包提供ServiceProvider,请将其添加到app/config/app.php.

否则作曲家已经为你做了自动加载,所以你只需要:

$package = new Package;
Run Code Online (Sandbox Code Playgroud)

在包命名空间的情况下,您必须:

$package = new PackageNamespace\Package;
Run Code Online (Sandbox Code Playgroud)

可以肯定的是,看一下这些vendor/composer/autoload_*文件,通常会vendor/composer/autoload_classmap.php搜索包名或类名,然后你会看到它是如何命名的.或者只是看看主包源文件,通常在:

vendor/vendorName/packageName/[src or lib or whatever]/Package.php
Run Code Online (Sandbox Code Playgroud)

编辑

我刚刚在这里安装并做了:

Route::get('test', function()
{
    dd(new WideImage\WideImage);
});
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.这个包是在我上面写的"命名空间"的情况下.