可选的二传手

时间:2019-04-02 18:33:30

标签: php

如何在子类中将特定的设置器设置为可选

我有一个使用PHP构建的网页,用于打印递归对象数组,我有一个名为Person的父类和一个名为Teachers的子类。

现在,老师也可以教另一位老师,我将老师分为以下类型:“硕士,高级,初中”,事实上,我已经解决了这个问题,我可以看到一个对象中的一系列对象对象数组,如下所示:

class Teacher extends Person{

    private $subject = '';
    private $teacherType = '';
    private $teachers = array();

    public function __construct($data) {
        parent::__construct($data);
        $this->setSubject($data["subject"]);
        //OPTIONAL
        $this->setTeachers($data["teachers"]);
        $this->setTeacherType($data["type"]);
    }

我想您知道这个主意,我的问题是初级老师没有得到任何老师的支持,因为他是初级老师并且还不能教老师。但是,如果我什么也没写,它将发出一个错误消息,指出初级教师的教师数组未定义,并将为其分配一个空的教师数组对象。

有什么方法可以使特定的设置器成为可选的吗?

这是我的PHP代码:

//original value: Mon Mar 04 2019 05:21:00 GMT-0800 (Pacific Standard Time)
var m = moment(date);
m.utc();
return m.format('YYYY-MM-DD[T]HH:mm:ss[Z]');
//m.format: 2019-03-04T13:21:00Z 

?>

1 个答案:

答案 0 :(得分:-1)

也许是简单的if语句?

class Teacher extends Person
{

    private $subject = '';
    private $teacherType = '';
    private $teachers = array();

    public function __construct($data)
    {
        parent::__construct($data);
        $this->setSubject($data["subject"]);
        if (isset($data['teachers']))
            $this->setTeachers($data["teachers"]);
        $this->setTeacherType($data["type"]);
    }