Класс Cakephp 3.0 ‘App \ Controller \ App’ не найден

Я получил эту ошибку, когда я пытался интегрировать плагины для диаграмм. Все плагины, которые я нашел в Интернете, предназначены для тортов версии 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'));
}
}

0

Решение

Вы не можете просто соединить вещи Cake 2x и Cake 3x и ожидать, что они будут работать, если плагин не создан для 3.x, вы просто не можете использовать его как таковой.

Вы получаете ошибку, потому что нет App Класс в текущем пространстве имен, Cake 3x использует реальные пространства имен и автозагрузку, поэтому, если вы хотите использовать App класс, вам придется импортировать его с помощью use заявление

use Cake\Core\App;

Однако нет App::uses() больше в любом случае, вы либо используете автозагрузку, либо просто включают/требовать файлы вручную.

Предлагаемые чтения:

1

Другие решения

Других решений пока нет …