2017-02-02 3 views
2

PHPと互換性があるとすべきである宣言は、フロントエンドでこのエラーを取得し、今、私はPHP 7に、私のサイトをアップグレードした7

class Works_Walker extends Walker_Category { 
function start_el(&$output, $category, $depth, $args) 

Iを親と一致するようにこのコードを編集すると、構文エラーが発生します。

class Works_Walker extends Walker_Category { 
function start_el(&$output, $category, $depth = 0, $args = Array, $id = 0) 

「配列」が構文エラーの原因と考えられます。これが診断に役立つ情報であることを願っています。

+0

これはメッセージの中であなたに伝えます。関数の署名は、拡張しているインタフェース/関数の署名と一致していなければなりません。これには「デフォルト」の値が含まれます。 – noahnu

+0

[宣言のメソッドの宣言は、PHPの親メソッドと互換性があるはずです](http://stackoverflow.com/questions/3115388/declaration-of-methods-should-be-compatible-with-parent-methods-in- PHP) – noahnu

+0

リンクと説明をありがとう。残念ながら私のサイトでは、前に投稿したコード以外のWalker_Categoryへのコード参照は見つかりません。私はこれらの署名をどこに変更して一致させるかわからない。 – user3612498

答えて

2

Arrayはタイプです。 array()(または[])を検索しています。デフォルトのの値はです。私。 $args = Array$args = array()である必要があります。参考: 4.7.2/Walker_Category

+0

それはそれを修正しました!ご協力ありがとうございました。 – user3612498

関連する問題