在php中,子类extends继承了父类,当子类和父类同时存在构造函数__construct先执行哪一个呢?

1 . 当父类和子类都没有明确定义构造方法__construct时,在实例化子类对象时,系统会默认调用子类自己的构造方法。
2 . 如果父类有明确定义的构造方法__construct,而子类没有定义,那么在实例化子类对象时,系统会自动调用父类的构造方法。
3 . 当父类和子类都定义了构造方法__construct时,在实例化子类对象时,系统会调用子类的构造方法,这可以理解为子类重构了父类的构造方法。
如果还需要调用父类的构造方法,需要在子类的构造方法中显式调用,例如__construct(){parent::_construct();}。

补充信息:子类的构造方法名称与子类名称相同。
在子类中,父类的构造方法不会自动执行。
如果要在子类中执行父类的构造方法,必须执行类似以下语句:$this->[父类构造方法名]()。
所有类的构造方法都统一命名为__construct()。
子类的构造方法也是__construct()(这似乎是显而易见的)。
在子类中,父类的构造方法是否执行,分为两种情况:1 . 如果子类没有定义构造方法__construct,那么父类的构造方法将默认被继承,并且会自动执行。
2 . 如果子类定义了构造方法__construct,因为构造方法名称也是__construct(),所以子类的构造方法实际上覆盖了父类的构造方法。
这时执行的是子类的构造方法。
这时,如果要在子类中执行父类的构造方法,必须执行类似以下语句:parent::__construct();。
参考资料来源:百度百科——继承

PHP中的__construuct()函数中的return的意义?

在PHP中,构造函数__construct()的主要用途是创建对象实例。
值得注意的是,在构造函数内部执行return操作是徒劳的,因为PHP会自动忽略这些return语句。
鉴于此,含有return语句的构造函数属于不规范的做法,建议避免模仿。

请问在php中parent::__construct()有什么作用

在您的CommonController中,由于它继承了Controller基类,因此调用parent::__construct()实际上是在调用父类的构造函数。
这是为了确保,当在子类中定义了新的构造函数时,不会无意中屏蔽掉父类构造函数的执行。
因此,在子类构造函数内部显式调用父类构造函数是必要的。