我在构建一个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)
{
}
}
是否当您从该接口和实现它的类中删除类型提示('Venue')就抱怨吗? –
它没有,但是我只是意识到接口正在使用一个命名空间,所以我需要在Venue之前添加一个反斜杠以匹配它。哎呀! – SixteenStudio