前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php面向对象第三篇(__set,__get,__isset,__unset)的用法

php面向对象第三篇(__set,__get,__isset,__unset)的用法

作者头像
贵哥的编程之路
发布2020-10-28 15:12:37
5140
发布2020-10-28 15:12:37
举报

封装的四个魔术常量: __set,__get,__isset,__unset四个方法。 问题:构造函数与析构函数的用法:

代码语言:javascript
复制
<?php
	class people
	{
		
		function __construct($_name,$_age)
		{
			$this->name=$_name;
			$this->age=$_age;
			echo "是个对象了".'<br>';
		}
		function __destruct()//注意,析构函数不能有参数哈
		{
			echo "被销毁了...";
		}
		
	}
	$p1=new people('cyg',20);

?>
在这里插入图片描述
在这里插入图片描述

//__set与__get函数的用法:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<?php
	class people
	{
		private $name='cyg';
		function __get($name)//然后是获取到$value所赋值的变量了$name了
		{//然后返回把...
			return $this->$name;
		}
		function __set($name,$value)//第一个是赋值的左边,第二个是右边.$value是cyg,$name是新定义的变量
		{
			$this->$name=$value;
		}
		
	}
	$p1=new people();
	echo'当自动获取属性存在时,我的名字是:'.$p1->name;

?>

//__isset与__unset的运用:

代码语言:javascript
复制
<?php
	class people
	{
		var $name='cyg';
		public function __isset($nm)//看看存不存在把
		{
			return isset($this->$nm);//返回true或者false
		}
		public function __unset($nm)
		{
			unset($this->$nm);//销毁不需要返回了,因为什么都没有了,都没有值了
		}
	}
	$p1=new people();
	echo isset($p1->name);//1代表存在值,0代表不存在把
	echo "<br />";
	echo "下面是上面都没有了";
	unset($p1->name);

?>
在这里插入图片描述
在这里插入图片描述

记住,__isset与__unset是public类型的哈.

继承: 父类—基类 子类–派生类

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档