1

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, line] と互換性がある必要があります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 用に作成されたものです。エラーは次のとおりです。

厳密 (2048): SearchableBehavior::beforeSave() の宣言は ModelBehavior::beforeSave(Model $model, $options = Array) [APP/Plugin/Searchable/Model/Behavior/SearchableBehavior.php, line 5] と互換性がある必要があります

つまり、検索可能な動作には次のものがあります。

public function beforeSave(Model $Model) {

代わりに、次のように変更する必要があります

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

この種の警告は、子クラスがメソッドを再定義して別のシグネチャを与えるたびに常に表示されます。

于 2014-05-04T11:30:56.030 に答える