PHP笔记-PHP中构造函数要注意的地方

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP笔记-PHP中构造函数要注意的地方相关的知识,希望对你有一定的参考价值。

背景

这里记录下php中构造函数的注意点。

这里和C/C++、Java不一样,比较灵活,估计是有隐式调用,在此不研究了,记录下注意的地方。

演示

如下项目:

Base.php

<?php


class Base

    public function __construct()

        echo "__construct() : " . __CLASS__ . "<br/>";
    

Child.php

<?php


class Child extends Base

    public function __construct()

        echo "__construct() : " . __CLASS__ . "<br/>";
    

call.php

<?php
include "Base.php";
include "Child.php";

$base = new Child();

上面代码的运行截图:

从中可见只有子类的构造函数被调用了。修改Base.php如下:

<?php


class Child extends Base
    

 运行截图如下:

变成了调用父类。

改成这样后:

<?php


class Child extends Base

    public function __construct()

        echo "__construct() : " . __CLASS__ . "<br/>";
        parent::__construct();
    

 运行截图:

变成了先子类构造函数,再父类构造函数。

改成这样后:

<?php


class Child extends Base

    public function __construct()

        parent::__construct();
        echo "__construct() : " . __CLASS__ . "<br/>";
    

 运行截图:

先父类构造函数,再子类构造函数

结束

PHP中的构造函数比较灵活,和C/C++、Java语言先比,感觉是构造函数+子类函数重写的功能合二唯一。

这里要注意,避免以后在开发PHP时遇到问题。

 

以上是关于PHP笔记-PHP中构造函数要注意的地方的主要内容,如果未能解决你的问题,请参考以下文章

php构造函数的PHP 5 构造函数和析构函数

PHP 构造函数的用途

php之微信公众号开发三公牛牛房卡平台搭建使用php7要注意的地方

PHP类相关

(2020上半年第8天)小迪网络安全笔记(操作②)php函数过滤

PHP面向对象笔记