php魔术变量用法实例详解,php定义变量的方法

发布时间:2022-11-17

本文目录一览:

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__。 总之这些变量的值往往不是固定的,变来变去的,很神奇,像魔术一样,故叫做魔术变量。