Uso de la biblioteca HighchartsPHP en CakePHP

Estoy intentando usar el contenedor HighchartsPHP de ghunti en CakePHP para poder usarlo en mi proyecto.

En la demostración, dice editar el config.php e incluir el script y luego tiene acceso a la clase Highchart para crear gráficos. Esto funcionaría para un proyecto de php plano, pero en MVC funciona de manera un poco diferente, supongo.

El primer paso es cómo incluir la biblioteca en mi aplicación. He colocado los archivos en un directorio en la carpeta del Vendor llamado HighchartsPHP y en mi archivo de controlador he colocado el código

 App::import('HighchartsPHP', 'Highchart'); 

Cuando bash instatar un nuevo objeto Highchart me encuentro con

Error: Class ‘Highchart’ no encontrado

Pregunta 1 : ¿cuál es la forma correcta de incluir esta biblioteca en mi proyecto?


Suponiendo que lo anterior se resuelva, supongo que construiría el gráfico real a partir de sus datos en el controlador y luego pasaría el objeto del gráfico a la vista para su representación. Entonces, en una de las acciones de mi página en el controlador podría poner

 $chart = new Highchart(); $chart->series[0]->name = 'Tokyo'; $chart->series[0]->data = array(7.0, 6.9, 9.5); 

Y entonces

 $this->set( compact( 'chart' ) ); 

para pasar a la vista donde presentaría la tabla con:

 render("chart"); ?> 

Pregunta 2 : ¿Es correcto y, si no, cómo debo hacer esto?

Su controlador debería ser así:

 chart = array( 'renderTo' => 'container', // div ID 'type' => 'line' ); $chart->series[0]->name = 'Tokyo'; $chart->series[0]->data = array(7.0, 6.9, 9.5); $this->set( compact( 'chart' ) ); } } 

y index.ctp:

 printScripts(); ?>  

Él intentado implementar la librería, pero me da Error: “Highchart” Clase no encontrada.

Usó para importar la libreria 2 formas:

 App::import('Vendor', 'HighchartsPHP', array('file' => 'HighchartsPHP'.DS.'Highchart.php')); //App::import('Vendor', 'HighchartsPHP/Highchart'); 

Pero sin importar falla

Él borró el contenido de la clase HighchartsPHP, y en constructor, escribió un “HOLA MUNDO”, para verificar, la única forma para que muestre el mensaje es borrar las líneas:

 namespace Ghunti\HighchartsPHP; use Ghunti\HighchartsPHP\HighchartOption; use Ghunti\HighchartsPHP\HighchartOptionRenderer; 

Mi control:

 'HighchartsPHP'.DS.'Highchart.php')); //App::import('Vendor', 'HighchartsPHP/Highchart'); class GraficasController extends AppController { public function index() { $chart = new Highchart(); $chart->chart = array( 'renderTo' => 'container', // div ID where to render chart 'type' => 'line' ); $chart->series[0]->name = 'Tokyo'; $chart->series[0]->data = array(7.0, 6.9, 9.5); $this->set( compact( 'chart' ) ); } } ?> 

La libreria la he descargado de:

https://github.com/ghunti/HighchartsPHP/tree/master/src

Estoy usando cakephp 2.x