Cakephp 3.0 Class'App \ Controller \ App'未找到错误

时间:2014-12-12 06:18:25

标签: php cakephp cakephp-3.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'));
    }
}

1 个答案:

答案 0 :(得分:1)

你不能把Cake 2x和Cake 3x的东西放在一起并期望它能够正常工作,如果这个插件不是为3.x做的,你根本就不能这样做。

您收到错误是因为当前命名空间中没有App类,Cake 3x使用真实命名空间和自动加载,所以如果您想使用App类,那么您将拥有使用use语句

导入它
use Cake\Core\App;

然而,无论如何都不再有App::uses(),您可以手动使用自动加载,也可以只使用include / require文件。

建议读物: