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

时间:2014-05-03 19:30:36

标签: cakephp behavior searchable-plugin

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

插件弹出错误:

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

严格(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'
);

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

更改方法签名

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

  

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

即。 in the searchable behavior有这个:

public function beforeSave(Model $Model) {

而是应该改为

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

每当子类重新定义一个方法并给它一个不同的签名时,将始终显示这种警告。

答案 1 :(得分:0)

应该是

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