0

当我尝试为图表集成插件时出现此错误。我在网上找到的插件都是蛋糕版本2.*的。我尝试为 3.0 做同样的事情并得到了这个错误。这是我的代码。我也尝试了高图表并得到了同样的结果。

use App\Controller\AppController;


App::uses('AppController', 'Controller');
App::uses('GoogleCharts', 'GoogleCharts.Lib');

class ChartsController extends AppController {

  public $helpers = array('GoogleCharts.GoogleCharts');

//Setup data for chart
  public function index() {
  $chart = new GoogleCharts();

  $chart->type("LineChart");  
    //Options array holds all options for Chart API
    $chart->options(array('title' => "Recent Scores")); 
    $chart->columns(array(
        //Each column key should correspond to a field in your data array
        'event_date' => array(
            //Tells the chart what type of data this is
            'type' => 'string',     
            //The chart label for this column           
            'label' => 'Date'
        ),
        'score' => array(
            'type' => 'number',
            'label' => 'Score',
            //Optional NumberFormat pattern
            'format' => '#,###'
        )
    ));

//You can also manually add rows: 
    $chart->addRow(array('event_date' => '1/1/2012', 'score' => 55));

//Set the chart for your view
    $this->set(compact('chart'));
    }
}
4

1 回答 1

3

你不能把 Cake 2x 和 Cake 3x 的东西放在一起并期望它工作,如果插件不是为 3.x 制作的,你根本不能这样使用它。

您收到错误是因为当前命名空间中没有App类,Cake 3x 使用真正的命名空间和自动加载,所以如果您想使用App该类,您必须使用use语句导入它

use Cake\Core\App;

但是App::uses()无论如何,您要么使用自动加载,要么只是手动包含/需要文件。

建议阅读:

于 2014-12-12T07:57:43.017 回答