1

我正在使用Searchable-Behaviour-for-CakePHP

插件弹出错误:

Strict (2048):SearchableBehavior::beforeSave() 的声明应与 ModelBehavior::beforeSave(Model $model, $options = Array) [APP/Plugin/Searchable/Model/Behavior/SearchableBehavior.php,第 5 行] 兼容

Strict (2048):SearchableBehavior::afterSave() 的声明应与 ModelBehavior::afterSave(Model $model, $created, $options = Array) [APP/Plugin/Searchable/Model/Behavior/SearchableBehavior.php,行兼容5]

SearchableBehavior.php 的第 5 行是:

class SearchableBehavior extends ModelBehavior { // Line 5
public $__defaultSettings = array(
    'foreignKey' => false,
    '_index' => false,
    'rebuildOnUpdate' => true,
    'fields' => '*',
    'stopwords_lang' => 'es'
);

任何想法?

4

2 回答 2

1

更改方法签名

可能该插件是为早期版本的 CakePHP 创建的。错误内容如下:

Strict (2048):SearchableBehavior::beforeSave() 的声明应与 ModelBehavior::beforeSave(Model $model, $options = Array) [APP/Plugin/Searchable/Model/Behavior/SearchableBehavior.php,第 5 行] 兼容

在可搜索的行为中有这样的:

public function beforeSave(Model $Model) {

相反,它应该改为

public function beforeSave(Model $model, $options = Array) {

每当子类重新定义方法并为其赋予不同的签名时,总会显示这种警告。

于 2014-05-04T11:30:56.030 回答
0

应该

public function beforeSave(Model $model, $options = Array()) {
于 2018-05-20T16:45:56.643 回答