Cakephp SearchableBehavior::beforeSave()的声明应与ModelBehavior::beforeSave(Model$Model,$options=Array)兼容

Cakephp SearchableBehavior::beforeSave()的声明应与ModelBehavior::beforeSave(Model$Model,$options=Array)兼容,cakephp,behavior,searchable-plugin,Cakephp,Behavior,Searchable Plugin,我正在使用 插件弹出错误: class SearchableBehavior extends ModelBehavior { // Line 5 public $__defaultSettings = array( 'foreignKey' => false, '_index' => false, 'rebuildOnUpdate' => true, 'fields' => '*', 'stopwords_lang' => '

我正在使用

插件弹出错误:

class SearchableBehavior extends ModelBehavior { // Line 5
public $__defaultSettings = array(
    'foreignKey' => false,
    '_index' => false,
    'rebuildOnUpdate' => true,
    'fields' => '*',
    'stopwords_lang' => 'es'
);
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'
);
有什么想法吗?

更改方法签名 该插件可能是为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) {
public function beforeSave(Model $model, $options = Array()) {
每当子类重新定义一个方法并给它一个不同的签名时,总会显示这种警告。

应该是