【发布时间】:2013-10-25 14:27:01
【问题描述】:
我在我正在构建的 Laravel 4 应用程序中遇到了一个非常奇怪的问题,尽管这个问题更多地与 PHP 相关而不是 Laravel: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 之前添加一个反斜杠以使其匹配。糟糕!
标签: php interface laravel laravel-4