php面向对象魔术方法总结
2016-02-21 21:45
609 查看
1.构造函数__construct() 说明:是对象创建完成后,第一个被调用的方法,当创建一个对象时,构造方法就 会被自动调用一次,不能主动通过对象的引用调用构造方法。 作用:就是为成员属性初始化 格式: Function __construct([参数列表]){ //方法体,通常用来对成员属性进行初始化赋值 } 2.析构函数__destruct() 说明:在销毁一个对象之前执行的一些特定操作,例如:释放文件、关闭结果集。 作用:关闭一些资源,做一些清理工作 格式:function__destruct(){ //方法体,通常用来完成一些在对象销毁之前的清理任务 } 3.方法重载 __call() 说明:调用对象中不存在的方法时会自动调用此方法,并且程序也可以继续向下执 行。caLl()方法有两个参数:第一个是调用不存在的方法时,接受这个方法名称字 符串;而参数列表则以数组的形式传递到__call()方法的第二个参数中。 格式:publicmixed__call ( string $name , array $arguments ) 4.方法重载__callstatic() 说明:用静态方式调用一个不可访问的方法时,会自动调用此方法。$name 参数 是要调用的方法名称。$arguments 参数是一个枚举数组,包含着要传递给方法 $name 的参数。 格式:public staticmixed__callStatic ( string $name , array $arguments ) 5.__get() 说明:直接在对象的外部获取私有属性的值时,会自动调用此方法,返回私有属性 的值。并且可以再__get()方法中根据不同的属性,设置一些条件来限制对私有属性 的非法取值操作。 格式:publicmixed__get ( string $name ) 6.__set() 说明:控制在对象外部只能为私有的成员属性赋值,不能获取私有属性的值。 作用:是在程序运行过程中为私有的成员属性设置值,它不需要任何返回值。但他 需要两个参数,第一个参数需要传入在为私有属性设置值时的属性名,第二个参数 则需要传入为属性设置的值。 格式:publicvoid__set ( string $name , mixed $value ) 7.__isset() 说明:当需要测定对象里面的私有属性的值时,会自动调用此方法,间接地帮助我 们完成对对象中私有成员属性的测定。 格式:publicbool__isset ( string $name ) 8.__unset() 说明:当对不可访问属性调用 unset()时,__unset() 会被调用。进行私有属性的删 除操作。 格式:publicvoid__unset ( string $name ) 9.__sleep() 说明:在调用 seralize()函数将对象串行化时,会自动调用此方法,用来将对象中 的部分成员串行化。该函数不接受任何参数,但需要返回一个数组,在数组中包含 需要串行化的属性。未被包含在数组中的属性将在串行化时被忽略。如果没有在类 中声明__sleep()方法,对象中的所有属性都将被串行化。 格式:publicarray__sleep ( void ) 10.__wakeup() 说明:在调用 unseralize()函数反串行化对象时,会自动调用此方法,用来在二进 制串中重新组成一个对象时,为新对象中的成员属性重新初始化。 格式:void__wakeup ( void ) 11.__toString() 说明:是快速获取对象的字符串表示的最便捷的方式,他是在直接输出对象引用时 自动调用的方法。 格式:publicstring__toString ( void ) 12.__invoke() 说明:当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。 格式:mixed__invoke ([ $... ] ) 13__clone() 说明:该方法在对象被克隆时自动调用,所以就可以通过此方法对克隆后的副本重 新初始化。该方法不需要任何参数,该方法中自动包含$this 和$that 两个对象的引用, $this 是副本对象的引用,而$that 则是原本对象的引用。 格式:void__clone ( void )
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- Lua编程示例(二):面向对象、metatable对表进行扩展
- C#中面向对象编程机制之多态学习笔记
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- 浅谈Lua的面向对象特性
- Lua面向对象之类和继承浅析
- PHP 5.3.0 安装分析心得
- JavaScript面向对象的两种书写方法以及差别