本文目录一览:
- 1、PHP中魔术变量__METHOD__与__FUNCTION__的区别
- 2、php魔术方法。。
- 3、php5中魔术方法函数有哪几个,请举例说明各自的用法
- 4、PHP魔术变量是什么求详解,不要去复制然后来粘贴
PHP中魔术变量__METHOD__与__FUNCTION__的区别
本文实例讲述了PHP中魔术变量__METHOD__与__FUNCTION__的区别,分享给大家供大家参考。具体分析如下:
__METHOD__类的方法名(PHP
5.0.0
新加)。返回该方法被定义时的名字(区分大小写)。
__FUNCTION__函数名称(PHP
4.3.0
新加)。自
PHP
5
起本常量返回该函数被定义时的名字(区分大小写)。在
PHP
4
中该值总是小写字母的。
文档解释都是说返回函数(方法)的名字。区别在于:
__FUNCTION__只是返回方法的名字;
__METHOD__返回类的名字和方法的名字。
?php
class
Test{
public
function
doit(){
echo
__FUNCTION__;
}
public
function
doitAgain(){
echo
__METHOD__;
}
}
$obj
=
new
Test();
$obj-doit();
echo
'br';
$obj-doitAgain();
?
输出结果为:
doit
Test::doitAgain
希望本文所述对大家的PHP程序设计有所帮助。
php魔术方法。。
在 PHP 里,将所有以 __(两个下划线)开头的类方法保留为魔术方法,所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。
魔术方法的引入是对面向对象编程思想的进一步实现,重载就是通过魔术方法来实现的。
PHP 魔术方法主要有:
__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(),__sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等。
最常见的是__construct(), __destruct(),__get(), __set()等:
__construct和__destruct是类的构造函数和析构函数。
php5中魔术方法函数有哪几个,请举例说明各自的用法
__construct() :实例化对象时被调用;
__destuct():当删除一个对象或者对象操作终止是被执行;
__call():调用对象不存在方法时被调用;
__get():调用对象不存在的属性时被调用;
__set():设置对象不存在的属性时被调用;_
_toString():打印一个对象时被调用,比如echo $obj,print($obj);
__clone():克隆对象时被调用,比如$t = new Test();$tt = clone $t;
__sleep():serialize之前被调用,若对象比较大,想做一些删除在序列化,可以考虑使用该方法;
__wakeup():unserialize之前被调用,做些对象的初始化;
__isset():检测对象是否存在属性的时候被调用,如 isset($c-name);
__unset():unset一个对象属性时被调用,如:unset($c-name);
__set_state():调用var_export时被调用,用__set_state的返回值作为 var_export的返回值;,
__autoload():实例化一个对象时,如果对应的类不存在,在该方法被调用。
希望你能采纳,谢谢。
PHP魔术变量是什么求详解,不要去复制然后来粘贴
魔术变量就是指那些根据不同环境有不同的取值
比如
__FILE__
就是一个典型的魔术变量,当它出现在a.php文件里时它的值就是a.php的具体路径,出现在b.php文件里就是b.php的具体路径
其他的一些魔术变量还有__FUNCTION__, __CLASS__
总之这些变量的值往往不是固定的,变来变去的,很神奇,像魔术一样,故叫做魔术变量