仅包含特定类对象的 PHP 数组

标签 php arrays spl

我有一个名为 Rule 的类,我将要创建一个 RuleContainer 类,它实际上是规则对象数组

我想知道是否有创建新类的替代方法。有什么(现代)方法可以解决这个问题吗?也就是说,类似于使用 SPL 定义只允许添加特定类的对象的数组

如果不是,我应该在我的 RuleContainer 类中实现哪个接口(interface)?

最佳答案

最适合您任务的类是 SplObjectStorage,但它不允许类类型提示。

我想,你可以这样做:

class RuleContainer extends SplObjectStorage
{
    function attach(Rule $rule)
    {
         parent::attach($rule);
    }

    function detach(Rule $rule)
    {
         parent::detach($rule);
    }
}

等等。您可以在 php.net 上阅读 SplObjectStorage 接口(interface)并决定您将使用什么以及需要覆盖什么。

关于仅包含特定类对象的 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28107977/

相关文章:

javascript - 检查数组是否不为空且长度为 JavaScript

PHP SPL,值得使用还是原始数组函数更好?

PHP、SPL预定义常量

PHP str_replace 任意数字模式

php - 如何在 PHP 中获取 JavaScript 变量值

javascript - JQuery 问题将对象打印到 console.log

python - 缺失值屏蔽数组相关性 (numpy.ma)

php - ArrayAccess 如何工作?

php - Laravel 添加数据到 MySQL

php - 在php中比较两个数组