很多站长朋友们都不太清楚php常量魔术方法,今天小编就来给大家整理php常量魔术方法,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php魔术方法。。 2、 PHP魔术常量__DIR__备忘 3、 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是类的构造函数和析构函数。
PHP魔术常量__DIR__备忘概述:本文简要讨论在TP5.0中定义目录常量时,用到的PHP魔术常量__DIR__的含义及其它相关的用法。
截止到PHP7.4,通过官方手册查知,目前PHP一共有八个魔术常量,分别为:__LINE__,__FILE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__。
__DIR__ 是其中用的比较频繁的一个,含义为:文件所在的目录(如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__) 。除非是根目录,否则目录中名不包括末尾的斜杠。),说的直白一点就是,它返回的是:这个常量所在的文件的绝对路径。
单独看定义可能不是很好理解,下面举两个例子进行说明,假设使用windows操作系统,已部署好站点在c:\wwwroot\目录。
示例1: 在网站根目录有1.php,访问/1.php时:
在1.php输入 var_dump(__DIR__),则输出为: C:\wwwroot
示例2: 在网站根目录有1.php,另有文件夹a,在a下面有b.php,在1.php包含了访问a/b.php时:
在b.php输入 var_dump(__DIR__),则输出为: C:\wwwroot\a
另: 使用 dirname($_SERVER['SCRIPT_FILENAME']) 也可以获取文件目录,不过$_SERVER['SCRIPT_FILENAME']返回的是访问文件的路径,即上面两个示例都会返回C:/wwwroot/1.php,注意在windows系统下返回的路径分隔符也有区别。
php的魔术方法PHP的魔术方法:
1、__construct() :实例化对象时自动调用。
2、__destruct() :销毁对象或脚本执行结束时自动调用。
3、__call($name, $args) :调用对象不存在得方法时执行此函数。
4、__get() :获取对象不存在的属性时执行此函数。
5、__set() :设置对象不存在的属性时执行此函数。
6、__isset() : 检测对象的某个属性是否存在时执行此函数。
7、__unset() :销毁对象的某个属性时执行此函数。
8、__toString() :将对象当作字符串输出时执行此函数。
9、__clone() :克隆对象时执行此函数。
10、__autoload() :实例化对象时,当类不存在时,执行此函数自动加载类。
11、__sleep() :serialize之前被调用,可以指定要序列化的对象属性。
12、__wakeup :unserialize之前被调用,可以执行对象的初始化工作。
13、__set_state() :调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
关于php常量魔术方法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php常量魔术方法 php常量魔术方法是什么的详细内容...