用composer向我的Laravel项目添加一个非Laravel包


Adding a non-laravel package to my Laravel project with composer

当使用Laravel时,我知道在我的项目中使用composer使用第三方库的步骤:

  1. 将包添加到composer.json:

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

  2. 运行composer update安装包

  3. 添加到config/app.php
  4. 中的providers和alias数组

我正试图用highchartsphp做同样的事情。通过composer安装很简单,但是没有说明如何在Laravel中使用这个包。如何加载正确的文件以及如何实例化类如自述文件中所述?是否只是将其添加到提供程序和别名,然后在我想要的任何地方执行$chart = new HighChart(); ?

这不是一个Laravel包,所以你不需要设置服务提供商和别名,但这是一个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