php类的魔术方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-18 08:38:10 浏览: 评论:0
在php 5中,提供了构造函数,析构函数,对象克隆的方法,重载方法等.
1、构造函数__construct
如果在类申明中__construct函数,将被当成一个构造函数并且在对象建立时被执行,但在php4中,构造函数的名称与类名相同就是构造函数哦,这一点有一些不同。
2、析构函数__destruct
如果在php类中申明了,在对象被销毁时调用__destruct函数
下面来看个实例,代码如下:
- <?php
- class Session
- {
- public function __construct()
- {
- echo '构造函数执行';
- }
- public function __destruct()
- {
- echo '析构函数执行';
- }
- }//开源代码phpfensi.com
- $Obj = new Session;
- unset($Obj);//删除对象, __destruct()会被调用的
- //输出
- //构造函数执行
- /析构函数执行
- ?>
上面在使用new创建对象时就执行了__construct,对象结束时就执行了__destruct()
3、__clone()克隆函数,代码如下:
- <?php
- class Session
- {
- public $age = 20;
- public $sub = null;
- public function __clone()
- {
- $this->sub=clone $this->sub;
- }
- }
- class Session 2
- {
- public $value=5;
- }
- $s = new Session;
- $s->sub=new Session 2;
- $s2 = clone $s;
- $s->sub->$value =10;
- echo $s2->sub->$value;
- ?>
4 现在来看关于重载函数__get ,__set,__call函数,代码如下:
- <?php
- class Session
- {
- protected function __call($func,$para)
- {
- echo '方法不存在:’func." ".'参数为:'." ";
- print_r($para);
- }
- }
- $s=new Session ();
- echo $c->getNames('hello','you');
- /*
- 输出:
- 方法不存在:getNames
- 参数为:
- Array
- (
- [0] => hello
- [1] => you
- )
- */
- ?>
Tags: php类 魔术方法
相关文章
- ·PHP的类自动加载机制的笔记(2014-06-11)
- ·php类中protected与const属性详解(2014-06-13)
- ·php类和对象(2014-08-18)
- ·php 类中多态的应用(2014-09-05)
- ·PHP类的自动载入程序代码(2015-12-24)
- ·PHP基于反射获取一个类教程(2018-06-04)
- ·PHP类继承 extends使用介绍(2020-08-26)
- ·PHP类的封装与继承详解(2021-06-19)
- ·详解php中的类与对象(继承)(2021-08-23)
- ·PHP类与对象后期静态绑定操作实例详解(2021-11-02)
- ·PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例(2021-11-25)
- ·PHP中的魔术方法总结(2014-07-29)
- ·php面相对象的魔术方法中文说明与例子(2015-04-08)
- ·php面相对象的魔术方法使用总结(2015-04-10)
- ·php面向对象中的魔术方法中文说明(2020-10-15)
- ·PHP类中的魔术方法(Magic Method)简明总结(2021-03-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)