美文网首页
php 构造方法

php 构造方法

作者: swoft_ | 来源:发表于2019-08-14 14:13 被阅读0次

__call

class A {
    public function __call($name, $arguments)
    {
        echo '方法不存在!';
    }
}
$a = new A();
$a->test(); //没有_call 的时候有警告error: Uncaught Error: Call to undefined method A::test() 

__callstatic 同上

__set 设置不存在的属性

class A {
    public function __set($attr, $value)
    {
        if($attr == "name") echo $attr;
    }
}
$a = new A();
$a->name = "熙梦"

__get 调用不存在的属性

class A {
    public function __get($name)
    {
        return '熙梦';
    }
}
$a = new A();
echo $a->name;  //熙梦

__construct

执行时机:在使用 new关键字使用类实例化一个对象时自动执行
功能作用:通常用于对对象的属性进行初始化

__destruct

执行时机:在对象被销毁(unset或PHP执行结束)时自动执行
功能作用:通常用于释放对象占用的第三方资源(如:数据库)

__clone

clone得出的对象不影响原对象

执行时机:在克隆(clone)对象时自动执行
功能作用:在克隆对象时可以同时执行一些其它操作,甚至可以阻止对象被克隆

__toString()

执行时机:在对象被当成字符串使用时自动执行
功能作用:兼容对象的字符串调用形式,根据用户需求显示出对象的字符串形态

__invoke() 函数调用方法

执行时机:在对象被当成函数使用时自动执行
功能作用:兼容对象的函数调用形式,允许用户像使用函数一样使用对象

class A {
    public function __construct(){
        echo '对象被创建'."\r\n";
    }
    public function __destruct()
    {
        echo '对象被销毁'."\r\n";
    }
    public function __toString()
    {
        return  "输出对象\r\n";
    }
    public function __invoke()  //invoke 调用
    {
        echo "对象被当成函数使用\r\n";
    }
    public function __clone()
    {
        echo "对象被clone\r\n";  //防止被clone
    }
}

$a = new A();
echo $a;
$a();
$c = clone $a;

/*
对象被创建
输出对象
对象被当成函数使用
对象被clone
对象被销毁
对象被销毁
*/

相关文章

  • PHP构造方法

    1.在一个类里面创建"构造方法" (第一个不带参数的构造方法)(第二个是带参数的构造方法) 2.析构函数作用 -1...

  • php 构造方法

    __call __callstatic 同上 __set 设置不存在的属性 __get 调用不存在的属性 __co...

  • 面向对象

    类成员的定义 成员属性的定义 成员方法的定义 类成员的使用 构造方法 PHP不负责定义这个构造方法,只负责调用构造...

  • 构造函数

    构造函数的使用 PHP中的构造方法是对象创建完成之后第一个被对象自动调用的方法.在每个类中都有一个构造方法,如果没...

  • PHP __construct() __destruct()用法

    __construct()构造函数 php中构造方法是对象创建完成后第一个被对象自动调用的方法。在每个类中都有一个...

  • Yii2 PHP框架--__construct()构造函数

    __construct()构造函数 php中构造方法是对象创建完成后第一个被对象自动调用的方法。在每个类中都有一个...

  • 19.PHP魔术方法和超全局变量

    PHP魔术方法 1.__autoload () 类文件自动加载函数2.__construct () 构造函数,PH...

  • PHP构造方法和析构方法

    一、构造方法 1)当使用new关键字创建对象时,第1个自动调用的方法,就是构造方法;2)构造方法的名称是固定的:v...

  • PHP笔记之构造方法、魔术方法

    本篇主要记录类的创建,下面是创建类,声明变量,方法的基本形式 注意 $this 对象内部方法中代表本对象的一个引用...

  • 第五章:构造函数和析构函数

    PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非...

网友评论

      本文标题:php 构造方法

      本文链接:https://www.haomeiwen.com/subject/ibjgjctx.html