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

har*_*ryg 9 php laravel composer-php laravel-4

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

  1. 将包添加到composer.json:

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

  2. 运行composer update以安装包

  3. 添加到提供程序和别名数组中 config/app.php

我试图用highchartsphp做同样的事情.通过composer安装很简单,但没有关于如何在Laravel中使用此软件包的说明.如何加载正确的文件以及如何实现自述文件中描述的类?这只是将它添加到提供者和别名然后$chart = new HighChart();在我想要的任何地方进行的情况吗?

Ant*_*iro 15

这不是Laravel包,所以你没有设置服务提供程序或Alias,但这是一个PHP包,因为你使用Composer来安装它,它已经自动加载,所以你可以:

将包添加到composer.json:

{
    "require": {
        "ghunti/highcharts-php": "~2.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

composer dumpautoload
Run Code Online (Sandbox Code Playgroud)

并实例化它:

$chart = new Ghunti\HighchartsPHP\Highchart();
Run Code Online (Sandbox Code Playgroud)

或者在php的顶部使用它:

use Ghunti\HighchartsPHP\Highchart;
Run Code Online (Sandbox Code Playgroud)

你应该能够:

$chart = new Highchart(Highchart::HIGHSTOCK);
Run Code Online (Sandbox Code Playgroud)

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

app/config/app.php如果您希望以这种方式使用它,可以为其创建别名:

'Highchart' => 'Ghunti\HighchartsPHP\Highchart'
Run Code Online (Sandbox Code Playgroud)

但是你仍然需要实例化它

$chart = new Highchart();
Run Code Online (Sandbox Code Playgroud)

您将无法像在Laravel中那样使用它

Highchart::doWhatever();
Run Code Online (Sandbox Code Playgroud)

除非你自己创建一个ServiceProvider,当然.