php面向对象中的魔术方法中文说明

  这篇文章主要介绍了php面向对象中的魔术方法中文说明,明白这些方法才好写面向对象程序,需要的朋友可以参考下

  1.__construct()

  实例化对象是被自动调用。当__construct和以类名为函数名的函数 同时存在时调用__construct,另一个不背调用。

  类名为函数名的函数为老版的构造函数。

  2.__destruct()

  当删除一个对象或一个对象操作结束是被调用。

  3.__call()

  对象调用某个方法。若方法不存在,这调用__call 这个方法

  4.__get()

  读取一个对象属性,如果对象属性是私有的会调用它

  5.__set()

  给一个对象属性赋值时如果属性是私有的会调用它

  6.__toString()

  打印一个对象的时候会被调用。

  7.__clone()

  克隆对象时被调用,如:$a=new test(); $a1=clone $a;

  8.__sleep()

  Serialize 之前被调用,若对象比较大,想删减一点东西在序列化可以用它。

  9.__wakeup()

  Unserialize时被调用,做些对象的初始化工作。

  10.__isset()

  检测一个对象的属性是否存在如果 检测的属性是私有的时候会被调用。

  11.__unset()

  删除一个对象属性时如果 删除的对象属性是私有的会被调用

  12.__set_state()

  调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。

  13.__autoload()

  实例化一个对象时,如果对应的类不存在,则该方法被掉用。

时间: 2024-10-31 14:39:51

php面向对象中的魔术方法中文说明的相关文章

php面向对象中的魔术方法中文说明_php实例

1.__construct() 实例化对象是被自动调用.当__construct和以类名为函数名的函数 同时存在时调用__construct,另一个不背调用. 类名为函数名的函数为老版的构造函数. 2.__destruct() 当删除一个对象或一个对象操作结束是被调用. 3.__call() 对象调用某个方法.若方法不存在,这调用__call 这个方法 4.__get() 读取一个对象属性,如果对象属性是私有的会调用它 5.__set() 给一个对象属性赋值时如果属性是私有的会调用它 6.__t

浅谈PHP中的面向对象OOP中的魔术方法

一.什么是魔术方法: PHP为我们提供了一系列用__开头的函数,这些函数无需自己手动调用,会在合适的时机自动调用,这类函数称为魔术函数. 例如: function __construct(){} 在new一个新对象时自动调用此函数 二.PHP中都有那些魔术方法,以及它们的作用: 1.__construct():构造函数,new对象时自动调用 eg: class Person{ public $name; public $age; function __construct($name,$age){

php面相对象的魔术方法中文说明与例子

集合涵义 在PHP中以两个下划线开头的方法,__construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup(), __toString(), __set_state,() __clone() __autoload()等,被称为"魔术方法"(Magic methods).如果希望PHP调用这些魔术方法,首先必须的类中定义,

PHP中的魔术方法总结和使用实例

  这篇文章主要介绍了PHP中的魔术方法总结和使用实例,魔术方法是PHP面向对象中特有的特性,它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,需要的朋友可以参考下 魔术方法是PHP面向对象中特有的特性.它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法).魔术方法很多还是成对出现的,以下列出目前PHP中所有的模式方法. 1.__construct,__destruc

PHP中的魔术方法总结和使用实例_php实例

魔术方法是PHP面向对象中特有的特性.它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法).魔术方法很多还是成对出现的,以下列出目前PHP中所有的模式方法. 1.__construct,__destruct __constuct构建对象的时被调用: __destruct明确销毁对象或脚本结束时被调用: 2.__get,__set __set当给不可访问或不存在属性赋值时被调用 __get

java-android面向对象中不能重用方法

问题描述 android面向对象中不能重用方法 在我的应用中我不能重用我已经在ArabicUtility类中声明的方法.我想要做的是用Arabicutility来安排一个阿拉伯语的文本.因此,我需要做的是给已经在Arabicutility类中声明的方法传递字符串并进行转换 我想这个在面向对象中是有一些困难的,所以希望能有人帮我改一下. 这个是我在Arabicutility类中加的方法 public void addTranslate(int rid, TextView txt1) { Strin

PHP类中的魔术方法(Magic Method)简明总结_php实例

1. __construct()和__destruct() 在实例被 创建/销毁 的时候被调用,都可以传递0个或多个参数. class A { function A() { echo "build A"; } function __destruct() { echo "destroy A"; } } $obj = new A(); //unset($obj); Note:The destructor method will be called as soon as

PHP中的魔术方法总结

1.__get.__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的 __get( $property ) 当调用一个未定义的属性时访问此方法 __set( $property, $value ) 给一个未定义的属性赋值时调用 这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性) 2.__isset.__unset __isset( $property ) 当在一个未定义的属性上调用isset()函数时调用此方法 __unse

ThinkPHP查询中的魔术方法简述_php实例

我们在使用thinkphp开发的时候,有时候会用到getById('1')这个方法快速的获取一条信息的内容,这个方法比用where(" id =1 ")->find()好用多了,同时查询效率也比find快速. 很多人在刚开始接触这个方法的时候,没有多留意它的内部实现机制,仅仅认为是通过id来获取信息,而事实并非如此. 例如有的系统里存在getByTitle("nihao").getByMoney('1000')这类方法,这些与刚才提到的getById('1')