Nic*_*ick 0 model-view-controller cakephp cakephp-2.0
我知道在控制器中使用帮助器是违反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)}.");
}
Run Code Online (Sandbox Code Playgroud)
我现在正在开发一个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
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
mar*_*ark 11
你不应该在控制器中使用助手.我很久以前就提出应该有这样的库类.希望这将被整合到2.1中
在那之前你应该使用
$Number = new NumberHelper(new View(null));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3102 次 |
| 最近记录: |