class Moshu{
public $number;
public function __construct($str)//构造方法,new实例时,自动调用
{
//require('/config.php');
$this->number=$str;
}
public function __destruct()//析构方法,当对象销毁时自动调用
{
echo '此方法当对象在结束的时候被执行';
}
public function __get($str)//当读取对象的一个不存在的属性时,自动调用,并返回值,不存在:表示未定义或者无权访问时
{
echo $str;
}
public function __set($a,$b)//当对一个不存的的属性进行赋值时,自动调用
{
echo $a."->".$b;//$a表示属性,$b表示值
}
public function __isset($f)//当用isset或者empty判断一个不存在的属性时自动调用
{
echo $f;
}
public function __unset($f)//当unset一个不存在的属性时自动调用
{
echo $f;
}
}
$fun=new Moshu('test');
echo $fun->number;
$fun->aa; //__get
$fun->aa='xx';//__set
isset($fun->aa);//__isset
unset($fun->aa);//__unset

php面象对象魔术方法的使用的更多相关文章

  1. php -- 魔术方法 之 对象克隆 : __clone()

    产生对象的方法: 1.从类产生对象.new,通过new去堆区开辟一块内存空间 2.从对象产生对象.clone,通过关键字clone,将一个对象完整的复制一份,新开辟一块内存空间,将复制的结果存放到该内 ...

  2. Pthon魔术方法(Magic Methods)-可调用对象

    Pthon魔术方法(Magic Methods)-可调用对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.可调用对象方法 __call__: 类中定义一个该方法,实例就可以像 ...

  3. 前端学PHP之面向对象系列第二篇——魔术方法

    × 目录 [1]构造方法 [2]析构方法 [3]不可访问属性[4]对象复制[5]字符串[6]对象不存在[7]自动加载类[8]串行化[9]函数调用 前面的话 php在面向对象部分有很多相关的魔术方法,这 ...

  4. PHP中的魔术方法(2)

    1.__get.__set这两个方法是为在类和他们的父类中没有声明的属性而设计的__get( $property ) 当调用一个未定义的属性时访问此方法__set( $property, $value ...

  5. Python魔术方法-Magic Method

    介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...

  6. php魔术方法使用场景

    php魔术方法-----__tostring(),__invoke,__call(),__callStatic ... __tostring(),__invoke() __tostring()方法是在 ...

  7. PHP中的魔术方法:__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload

    1.__get.__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的: __get( $property ) 当调用一个未定义的属性时访问此方法: __set( $property, $ ...

  8. PHP 类中的魔术方法

    定义: PHP类中以两个下画线“__”开头的方法被称为魔术方法. 分类: 例如:构造方法:__construct:析构方法:__destruct:动态重载:__set().__get().__call ...

  9. php中的魔术方法

    __construct 构造器是一个魔术方法,当对象被实例化时它会被调用.在一个类声明时它常常是第一件做的事但是没得必要他也像其他任何方法在类中任何地方都可以声明,构造器也能像其他方法样继承.如果我们 ...

随机推荐

  1. redis源码解析之内存管理

    zmalloc.h的内容如下: void *zmalloc(size_t size); void *zcalloc(size_t size); void *zrealloc(void *ptr, si ...

  2. WiFi安全测试工具、蹭网利器–WiFiPhisher(转)

    读后感:看了一下官方介绍,需要2张无线网卡的支持,其中一张应该是用来影响用户和正常热点的连接,即进行dos攻击,而另外一张可以模拟一个假AP等待用户接入,这种攻击将对物联网和智能家居安防等产品造成很大 ...

  3. bootstrap之双日历时间段选择控件示例—daterangepicker(中文汉化版)

    效果图: 参考代码: <link href="/css/daterangepicker.min.css?ver=0.6" rel="stylesheet" ...

  4. 【mysql】更新“”空字符串为NULL

    mysql中NULL和“”是完全不同的概念,因此出现了“”导致NULL不可查的问题出现,那怎么能将一个字段设置为NULL呢? update goods_type gt set gt.parent_ui ...

  5. 【Tomcat MyEcplise】MyEcplise添加一个新的Server,Tomcat8.5报错

    添加新的Tomcat添加不进去,报错: The Apache Tomcat installation at this directory is version 8.5.11.  A Tomcat 8. ...

  6. express和json的调用

    在express工程里,建立app.js var express = require('express'); var app = express(); //数据接口 var newsdata=[{ ' ...

  7. img转base64的两种方式的比较

    关于图片转base64然后提交后台,项目中一直用的是canvas的toDataUrl方法,但是之前看HTML5 API文档的时候,一直记得好像有个叫fileReader的东西也可以做到.于是过年无事的 ...

  8. Idea 创建spring mvc项目时,在add framework support中找不到spring选项

    每次创建spring项目最头疼就是spring的配置文件,尤其是配置头信息.通过IDEA工具可以很好辅助完整这些工作. 先说下这个选项的作用:其作用就是利用IDEA自身提供的功能帮你完成一些sprin ...

  9. grep:字符串查找

    转自: http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达 ...

  10. 通用测试用例大全(转自——知了.Test)

    为方便平时写测试用例,整理如下: 功能 条件 测试步骤 测试数据 预期结果 备注 搜索或查询   单独遍历各查询条件,测试按各查询条件是否都能够查询出相应的值.   查询出符合条件的记录     设置 ...