【问题标题】:What is the best practice to add const to an existing interface in PHP?将 const 添加到 PHP 中现有接口的最佳实践是什么?
【发布时间】:2012-12-12 09:33:47
【问题描述】:

我正在使用 Symfony2 的 VoterInterface 来实现 voters 以确定用户访问权限。

接口声明了三个 const 变量:

interface VoterInterface
{
    const ACCESS_GRANTED = 1;
    const ACCESS_ABSTAIN = 0;
    const ACCESS_DENIED  = -1;
...

我想添加第四个名为 ACCESS_READONLY 的只读访问权限,但据我所知,无法在 PHP 中“继承”接口。

我认为更改界面不是一个好主意,因为它是 Symfony2 供应商库的一部分。一个选项是将接口复制到我自己的命名空间并进行修改。但是,我希望能以更好的方式来完成这项工作。

【问题讨论】:

  • 我不确定选民是否适合确定授予访问权限的类型,而不是简单地确定是否应授予访问权限。您是否查看过ACL system,它可以管理资源的不同访问级别?

标签: php symfony interface


【解决方案1】:

你不能扩展一个接口吗?例如。

interface abc extends VoterInterface
{
    const ACCESS_READONLY = 1;
}

然后实现abc。我还没有尝试过,但也许值得一试。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 2016-07-17
  • 1970-01-01
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多