本文目录一览:
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__
返回类的名字和方法的名字。
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()
:实例化对象时被调用;__destruct()
:当删除一个对象或者对象操作终止时被执行;__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__
。 总之这些变量的值往往不是固定的,变来变去的,很神奇,像魔术一样,故叫做魔术变量。