2017-06-30 15 views
0

TestInterfaceを作成しました。私はすべてのパラメータの型を指定しており、うまくいきます。戻り値の型を定義するphp7インターフェイスでエラーが発生する

interface TestInterface 
{ 
    /** 
    * 조건에 따른 질의에 대해 레코드 수를 반환한다. 
    * @param [type] $where [where 구문] 
    * @param boolean $isLike [like 여부] 
    * @return [type]   [description] 
    */ 
    public function allCount(array $where, bool $isLike, bool $join); 
} 

ただし、返品の種類を指定すると、500エラーになります。 PHP 7でサポートされている戻り値の型を指定していませんか?もしそうなら、私にそれをする方法をアドバイスしてください。そうでない場合、define return typeのように動作するカスタム機能を作成するにはどうすればよいですか?

interface TestInterface 
{ 
    /** 
    * 조건에 따른 질의에 대해 레코드 수를 반환한다. 
    * @param [type] $where [where 구문] 
    * @param boolean $isLike [like 여부] 
    * @return [type]   [description] 
    */ 
    public function allCount(array $where, bool $isLike, bool $join) : int; 
} 

そしてallCountメソッドは常にint型を返します。

+0

インターフェイスの実装を見ることなく、デバッグするのは少し難しいです。実装には戻り型ヒントも含まれていますか?戻り値のドキュメント(http://php.net/manual/en/functions.returning-values.php)では、「親メソッドをオーバーライドする場合、子メソッドは親の戻り値の型宣言と一致する必要があります。親戻り値の型を定義していない場合、子メソッドはそれを行う可能性があります。 " –

+0

@Matt Rink コメントありがとうございました。あなたが言ったように、多くの方法があるので、デバッグするのは本当に難しいです。 –

答えて

0

私は40個のファイルにする方法allCountを使用しています

....問題を発見しました。しかし、それらのうちの1つだけが配列型を返します。

関連する問題