在我的上载模型中使用beforeSave方法时,页面顶部显示以下错误。
Strict (2048): Declaration of Upload::beforeSave() should be compatible with Model::beforeSave($options = Array) [APP/Model/Upload.php, line 5]
有人可以指出我做错了吗?
这是我的模型:
<?php
App::uses('AppModel', 'Model');
class Upload extends AppModel {
protected function _processFile() {
$file = $this->data['Upload']['file'];
if ($file['error'] === UPLOAD_ERR_OK) {
$name = md5($file['name']);
$path = WWW_ROOT . 'files' . DS . $name;
if (is_uploaded_file($file['tmp_name'])
&& move_uploaded_file($file['tmp_name'], $path) ) {
$this->data['Upload']['name'] = $file['name'];
$this->data['Upload']['size'] = $file['size'];
$this->data['Upload']['mime'] = $file['type'];
$this->data['Upload']['path'] = '/files/' . $name;
unset($this->data['Upload']['file']);
return true;
}
}
return false;
}
public function beforeSave() {
if (!parent::beforeSave($options)) {
return false;
}
return $this->_processFile();
}
}
?>
最佳答案
只需更改此行
public function beforeSave() {
为此,因此您具有正确的方法声明
public function beforeSave($options = array()) {
关于cakephp - 上传声明:: beforeSave()应该与Model::beforeSave($ options = Array)兼容[APP/Model/Upload.php,第5行],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29872527/