[英]Multiple Extends in PHP
我听说您不能两次使用扩展。
我有两节课:
Base32和SecureRandom
我需要TOTP。
我怎样才能同时使用它们呢?
看一下PHP5.4特性,他们解决了多种扩展问题。
将它们与接口结合起来以获得instanceof功能。
例如:
interface ClientAwareInterface {
public function setClient($client);
}
trait ClientAwareTrait {
protected $client;
public function setClient($client)
{
$this->client = $client;
}
}
class Shop implements ClientAwareInterface extends SomeClass {
use ClientAwareTrait; // use our trait to implement interface methods
use OtherTrait;
}
$shop = new Shop();
if($shop instanceof ClientAwareInterface) {
$shop->setClient('test');
var_dump($shop);
}
结果将是:
object(Shop)[1]
protected 'client' => string 'test' (length=4)
PHP不允许多重继承。 您需要扩展它们中的一个,并将另一个作为私有变量或类似的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.