我正在尝试在cakephp中使用highchart,并且已经遵循了以下教程以及有关该主题的stackoverflow帖子。
我仍然没有找到高潮图。
我下载了highchartPHP并将所有4个文件放在Vendor/HighchartsPHP
在布局中,我在webroot/js
echo $this->Html->script('jquery-1.9.1.min'); // Include jQuery library
echo $this->Html->script('highcharts'); // Include jQuery library
这是我的代码
<?php
App::import('Vendor', 'HighchartsPHP/Highchart');
class ChartsController extends AppController
{
public function index() {
$chart = new Highchart(); /////////////////Error: Class 'Highchart' not found
$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' ) );
}
在视图文件
中<?php $chart->printScripts(); ?>
<script type="text/javascript">
<?php echo $chart->render("chart");?>
</script>
我找不到关于使用highcharts设置cakePHP的更多说明,所以我遇到了问题,并且我发现了一个未找到高亮图的错误。 我还有一些遗失的东西。令我感到困惑的是,highchartPHP没有解释如何使用cakephp为MVC版本安装它。
如何设置高图,以便在cakephp中运行?
我从下载zip按钮链接获得所以它必须是v3 https://github.com/ghunti/HighchartsPHP
同样错误:如上所述,控制器中找不到类“Highchart”
答案 0 :(得分:1)
<强> https://github.com/ghunti/HighchartsPHP/tree/v1.0 强>
所以快速解决方法是使用v1,但我不确定这是否是一个非常好的主意,因为它可能不再维护了。
查看版本2.x和3.x的源代码,它们现在使用名称空间,因此在没有正确指向该名称空间时找不到该类。
正如在项目主页上提到的那样,库应该通过composer安装,并且几乎所有使用composer的库都需要使用生成的自动加载器,但这并不是解释如何使用的地方。作曲家,已经广泛覆盖了整个网络。
<强> https://getcomposer.org/doc/00-intro.md 强>
请务必查看CakePHP文档,了解如何将编辑器自动加载器与CakePHP一起使用:
[...]
如果您使用Composer安装任何其他库,则需要设置自动加载器,并解决Composer自动加载器中的问题。在
Config/bootstrap.php
文件中添加以下内容:// Load Composer autoload. require APP . 'Vendor/autoload.php'; // Remove and re-prepend CakePHP's autoloader as Composer thinks it is the // most important. // See: http://goo.gl/kKVJO7 spl_autoload_unregister(array('App', 'load')); spl_autoload_register(array('App', 'load'), true, true);
http://book.cakephp.org/.../advanced-installation.html#installing-cakephp-with-composer