Я знаю, что использование методологий в контроллерах против методологий MVC, но в некоторых случаях это полезно.Например, рассмотрим этот фрагмент кода контроллера из одного из моих проектов CakePHP 1.3.13, который обрабатывает загрузку изображений:
elseif ($_FILES['data']['error']['ModelName']['field_name'] === UPLOAD_ERR_INI_SIZE) {
App::import('Helper', 'Number');
$Number = new NumberHelper();
$this->Session->setFlash("The image you uploaded was not saved because it appeared to be larger than {$Number->toReadableSize($max_filesize_in_bytes)}.");
}
Я сейчас работаю над проектом CakePHP 2.0.4 и использовал тот жекод, за исключением того, что я заменил App::import('Helper', 'Number');
на App::uses('NumberHelper', 'View/Helper');
, и я получил это сообщение об ошибке:
Warning (4096): Argument 1 passed to Helper::__construct() must be an instance of View, none given, called in /Path/To/My/Website/app/Controller/MyController.php
Есть идеи?