私が構築している Laravel 4 アプリケーションで非常に奇妙な問題に遭遇しましたが、この質問は Laravel よりも PHP に関連しています:インターフェイスとクラス メソッドの両方がまったく同じシグネチャを持っている場合、これらのメソッドは互換性がないと PHP が不平を言っています。
たとえば、間違った型ヒントが使用されているか、引数の数に一貫性がない場合にのみ文句を言うべきですが、何らかの理由で、すべてが正しく行われたときにこれが文句を言います。この問題を抱えている人は他にいません。私が見ていないものは誰でも見ることができますか?
インターフェース:
<?php
namespace Repository;
interface TillRepositoryInterface {
public static function allInVenue(Venue $venue);
public static function findByIdInVenue(Venue $venue);
}
インターフェイスを実装するリポジトリ クラス:
<?php
class TillRepository extends BaseRepository implements Repository\TillRepositoryInterface {
public static function allInVenue(Venue $venue)
{
}
public static function findByIdInVenue(Venue $venue)
{
}
}