所谓魔术函数,是指不同时刻为了完成特定的功能,而自动调用的方法。

__sleep       在serialize()序列化对象之前会调用这个函数
__wakeup    在unserialize()解序列化之前调用这个函数
__toString   当将对象转化为字串的时候调用这个函数
__construct  构造函数,实例化一个对象的时候调用
__destruct   析构函数,当对象实力被释放的时候调用
__call     当调用类中没有的方法时会调用此函数
__get     当访问一个类中没有的属性时调用
__set     当设置一个类中没有的属性的值时调用
__isset     调用外部的isset函数检查类是否有某个属性时调用
__unset       删除类的某个属性时调用
__set_state  使用var_export导出对象的属性和值时调用
__clone        复制某个类的实例时调用
__autoload   当使用一个类而这个类还未被加载时会被自定调用

魔术变量:魔术变量的值常常岁代码所在的位置而改变,例如__line__的值,随着所在的行改变值。注意:区分大小写。

8个常用的魔术变量有:

1、__line__返回当前位置所在的行。

2、__file__返回文件的完整路径和文件名;如果用在被包含文件中,则返回被包含的文件路径和文件名。

3、__dir__返回文件所在的目录。如果用在被包含的文件中,则返回被包含的文件目录。

4、__function__返回定义函数的方法名。

5、__method__返回类的函数方法名。(当函数位于类外时,45返回的值一样;当函数位于类里面时,5比4多了:类名::)

6、__class__返回定义类的类名。

7、__namespace__返回当前的命名空间。

8、__trait__(意思是一种代码复用的方法)类似于class.

PHP5中常用的魔术函数有哪些,举例说明各自的用法。的更多相关文章

  1. php面向对象类中常用的魔术方法

    php面向对象类中常用的魔术方法   1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct( ...

  2. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  3. php中常用的正则表达式函数

    php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...

  4. iOS开发中常用的数学函数

    iOS开发中常用的数学函数 /*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(,)); //result 9 NSLog(,)); //result 27 //开平方 ...

  5. 实际项目开发过程中常用C语言函数的9大用法

    C语言是当中最广泛的计算机编程语言,是所有计算机编程语言的祖先,其他计算机编程语言包括当前流行的Java语言,都是用C语言实现的,C语言是编程效率最高的计算机语言,既能完成上层应用开发,也能完成底层硬 ...

  6. Sql 中常用时间处理函数

    1.Sql 中常用时间处理函数  GETDATE()  返回当前的日期和时间 DATEPART()  返回日期/时间的单独部分 DATEADD()   返回日期中添加或减去指定的时间间隔 DATEDI ...

  7. PHP中常用的魔术方法

    我们在PHP中经常用到魔术方法,像构造方法,析构方法等等魔术变量,下面总结一下一些常用的魔术变量: __construct(),__destruct(),__clone(),__autoload(), ...

  8. 收集JavaScript中常用的方法函数

    本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助. 1. 字符串长度截取 function cutstr(str, len) { var temp, icount ...

  9. 【Oracle】Oracle中常用的系统函数

    Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果.在Oracle还可以自定义函数,关于更多信息可以查 ...

随机推荐

  1. (medium)LeetCode 227.Basic Calculator II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  2. Unity中对象池的使用

    unity中用到大量重复的物体,例如发射的子弹,可以引入对象池来管理,优化内存. 对象池使用的基本思路是: 将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用.恰当地使用对象池,可以在 ...

  3. Node.js上传文件

    var formidable = require('formidable'); var util = require('util'); exports.upload = function(req,re ...

  4. linux包转发开发

    28号晚上接到这个任务的, 看了点epoll, 29号上午安装Ubuntu 12.10的G++, 开始把内网的vm虚拟机文件, 复制到外网, 重新建立一个虚拟机再更新, 最后外网也没能安装得了g++. ...

  5. c/c++笔记

    string 若要根据字典序比较string类型的大小,只需要用><=就可以啦 例如: string s1="abcz"; string s2="abcd&q ...

  6. 请慢慢移动……由于操作快慢导致的bug

    最近的工作中,遇到一个由于操作快慢不同导致的bug,原因是,操作慢的时候程序接收到了停止操作,继续处理正确,而快速操作的时候程序来不及处理操作停止的动作,导致需要传入的数据值已经改变,程序报错.这种缺 ...

  7. Yii 中比较常用的rules验证规则记录

    查看代码   打印 01 return array( 02   03     //必须填写 04     array('email, username, password,agree,verifyPa ...

  8. Deviceone:站在移动互联时代的十字路口上

    最近总能看到类似“App已死,服务永生”.“App必死,web永生” .“App已死,微信建站已生”这样的文章.不晓得这些网络写手到底是想代表某些公司的立场.还是想要表达怎么样的一个情结,文章中语气都 ...

  9. C#如何在事件中获得GridView里面TextBox的值

    GridView设置如下: <asp:GridView ID="GridViewlb" runat="server" AutoGenerateColumn ...

  10. 无法读取配置节“protocolMapping”,因为它缺少节声明

    无法读取配置节“protocolMapping”,因为它缺少节声明 1.正常情况   :  Web.config文件中有protocolMapping节点, 发现在IIS部署时使用了.NET 2.0的 ...