覆盖类中的php方法,它会对原始的php方法产生什么影响吗?

时间:2016-10-18 23:55:51

标签: php oop

interface StorageInterface
{
    public function isset($index);
    public function set($index, $value);
    public function unset($index);
}

嗨,我有一个关于将php原​​始方法覆盖到我自己的类方法中的问题。它对orignal php方法有什么影响吗? 它是考虑一个好的做法还是坏的?

或者最好提供类似的方法名称。 所以这里是StorageSession类

中方法(isset)和(unset)的实际实现
public function isset($index)
{
   return isset($_SESSION[$this->product][$index]);
}

public function unset($index)
{
   unset($_SESSION[$this->product][$index]);
}

这样当我创建我的Product类时。 我可以实现类似的东西

public function __construct(SessionStorage $storage);

public function hasProduct($product)
{
    $this->storage->isset($product->id);
}

public function removeProduct($product)
{
   $this->storage->unset($product->id);
}

所以问题是,我应该将isset() and unset()方法命名为check(), has(), remove(), delete()之类的其他类似名称。或者可以将其命名为isset() and unset()

1 个答案:

答案 0 :(得分:0)

isset和unset是关键字。从PHP 7开始,它们可以用作方法名称,但不能用在PHP 5中。

但是,使用像check这样的普通名称有什么问题?