Awesome
I'm discontinuing this project in favor of more flexible approaches. For my own projects I've switched to HighchartsPHP with ease. I recommend you to also make the switch, since I won't be updating this packages with new features. Thank you all for your support!
HighRoller for Zend Framework 2
Package of Highroller by @jmaclabs ready for Zend Framework 2 integration via Composer.
Introduction
HighRoller is an object-oriented PHP Wrapper for the Highcharts JavaScript Library. HighRoller gets Highcharts up and running in your PHP project fast.
Installation
Main Setup
With composer
-
Require this project using composer:
./composer.phar require jfloff/highroller-zf2:dev-master
Post installation
Enabling it in your application.config.php
file.
```php
<?php
return array(
'modules' => array(
// ...
'HighRoller',
'AssetManager',
),
// ...
);
```
Quick-Guide for ZF2 Skeleton Application
In this quick guide, we will place a very humble line chart in the ZF2 Skeleton Application. Before starting make sure you are using a clean ZF2 Skeleton Application, and that you already set up highroller-zf2 using the instructions above.
Open module/Application/src/Application/Controller/IndexController.php
.
-
Include HighRoller files:
use HighRoller\LineChart; use HighRoller\SeriesData;
-
Inside
indexAction
function create a new line chart:$linechart = new LineChart(); $linechart->title->text = 'Line Chart'; $series = new SeriesData(); $series->name = 'myData'; $chartData = array(5324, 7534, 6234, 7234, 8251, 10324); foreach ($chartData as $value) $series->addData($value); $linechart->addSeries($series);
-
Pass the your HighRoller object
$linechart
to the view:return new ViewModel(array('highroller' => $linechart));
Open module/Application/view/application/index/index.phtml
-
Include highcharts.js file (you could also do this in your layout):
<script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/modules/exporting.js"></script>
-
At the top of the file:
- Add a HTML div where your chart will be rendered to,
- Set the div id in the HighRoller object,
- Finally append the render script.
<div id="highroller"></div> <?php $this->highroller->chart->renderTo = "highroller"; $this->headScript()->appendScript($this->highroller->renderChart()); ?>
-
You should now see a beautiful simple line chart in your main page, just like this one:
Licensing
HighRoller is licensed by Gravity.com under the Apache 2.0 license, see the LICENSE file for more details.
HighCharts is licensed by Highsoft Solutions AS.
Highcharts is licensed for free for any personal or non-profit projects under the [Creative Commons Attribution-NonCommercial 3.0 License] (http://creativecommons.org/licenses/by-nc/3.0/).
See the license and pricing details directly on the Highcharts.com site for more details.