使用composer将非laravel包添加到我的Laravel项目中

时间:2014-05-15 10:14:05

标签: php laravel laravel-4 composer-php

使用Laravel时我了解使用composer在项目中使用第三方库的步骤:

  1. 将包添加到composer.json:

    "require": { "zizaco/confide": "3.2.x" }

  2. 运行composer update以安装软件包

  3. 添加到config/app.php
  4. 中的提供者和别名数组

    我正在尝试对highchartsphp做同样的事情。通过composer安装很简单,但没有关于如何在Laravel中使用此软件包的说明。如何加载正确的文件以及如何实现自述文件中描述的类?这只是将它添加到提供者和别名然后在{I}我想要的地方{@ 1}}的情况吗?

1 个答案:

答案 0 :(得分:12)

这不是Laravel软件包,因此您没有设置服务提供程序或Alias,但这是一个PHP软件包,并且由于您使用Composer进行安装,因此它已经自动加载,因此您可以:

将包添加到composer.json:

{
    "require": {
        "ghunti/highcharts-php": "~2.0"
    }
}

运行

composer dumpautoload

并实例化它:

$chart = new Ghunti\HighchartsPHP\Highchart();

或者在php的顶部使用它:

use Ghunti\HighchartsPHP\Highchart;

你应该能够:

$chart = new Highchart(Highchart::HIGHSTOCK);

项目中的任何地方都应该有效。

如果您愿意以这种方式使用,可以在app/config/app.php中为其创建别名:

'Highchart' => 'Ghunti\HighchartsPHP\Highchart'

但你仍然需要实例化它

$chart = new Highchart();

你无法像在Laravel中那样使用它

Highchart::doWhatever();

除非你自己创建一个ServiceProvider。