【发布时间】:2017-08-23 02:04:51
【问题描述】:
我希望我的类继承其父类的方法,我通过扩展类来做到这一点。但我也想使用基名(没有命名空间)实例化一个类,并根据当前命名空间选择正确的类,然后如果它不存在则回退到一个“通用”类。
例子
<?php
namespace common\models {
class Account extends Model{}
class Orders extends Model{}
class Customer extends Model{
use common\models\Account;
public static function getAccountClass(){
echo get_class(new Account());
}
public static function getOrdersClass(){
echo get_class(new Order());
}
}
}
namespace frontend\models {
class Account extends common\models\Account {}
class Customer extends common\models\customer {
}
}
我希望common\models\Customer::getAccountClass() 输出common\models\Account
和
frontend\models\Customer::getAccountClass() 输出frontend\models\Account
但由于frontend\models\Orders 不存在frontend\models\Customer::getOrdersClass() 仍将输出common\models\Orders
【问题讨论】:
标签: php namespaces yii2