无法设置Highchart

时间:2014-06-23 13:04:21

标签: php cakephp cakephp-2.3

我正在尝试在cakephp中使用highchart,并且已经遵循了以下教程以及有关该主题的stackoverflow帖子。

我仍然没有找到高潮图。

我下载了highchartPHP并将所有4个文件放在Vendor/HighchartsPHP

在布局中,我在webroot/js

中添加了包含实际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”

1 个答案:

答案 0 :(得分:1)

当人们不提及版本号时会发生什么......

一年之后,没有人知道他们在说什么了。教程和问题很可能是版本1.x。

<强> 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