当前位置:首页 > 日记 > 正文

PHP魔法变量用法详解

PHP魔法变量用法详解
本文介绍了PHP的魔术变量的使用,这是新的__dir__ PHP5.3,分享给大家参考使用。具体分析如下:

系统常数

__file__当前文件名

在__line__当前行数

__function__当前函数名

__class__当前类的名字

__method__当前对象的方法名

详细的分析

1。__file__

完整的路径和文件名的文件。如果是用于包含文件,包含文件名返回。从PHP 4.0.2,__file__总是包含一个绝对路径(如果它是一个符号连接,然后通过分析绝对路径),而以前的版本有时会包含一个相对路径。

PHP常量dirname(__file__)

__file__:称为PHP的幻方常数,它返回的完整路径和当前的PHP脚本的文件名,包括绝对路径

1)的目录(__file__)函数返回的脚本located.update网络路径

例如,文件b.php包含以下:

复制代码代码如下:< PHP

$ basedir = dirname(__file__);

echo basedir

这将是一个在打印页面中绝对路径的文件!

>
我做的测试得到的结果:E:websiteothertestcms

这是在ASP的server.mappth使用等效

如果b.php由A.php文件引用的要求或包含在其他目录,则美元的变量内容的文件夹的路径,b.php所在。而不是成为A.php文件所在目录。

2)目录(__file__)通常返回一个文件的当前目录的目录结构,系统的根目录。

当前文件的名字不回来。Dirname(__file__)也可能回到A(当前目录){因为b.php文件的http.conf或PHP配置开发环境的默认Web目录下

复制代码代码如下:< PHP
在公用配置文件中,设置根目录,这样就不必担心移动。

* /

定义('root_path,dirname(__file__)。directory_separator);

回声root_path;



回声__file__;



回声dirname(__file__);



回声的目录(目录名(__file__));

>

2。__line__

在一个文件中的当前行号。这个变量在调试错误时更有用。在其他时候,它是没有用的。纯粹是个人的。

复制代码代码如下:< PHP

回声__line__; / /显示,那里的线数__line__

>

三.__class__

类的名字,PHP5返回结果是敏感的

复制代码代码如下:< PHP

类base_class

{

say_a()函数

{

回声A说。__class__。;

}

say_b()函数

{

回声B表示。get_class(美元)。;

}

}

类derived_class延伸base_class

{

say_a()函数

{

家长::say_a();

回声A说。__class__。;

}

say_b()函数

{

家长::say_b();

回声B表示。get_class(美元)。;

}

}

obj_b美元=新derived_class();

obj_b美元-> say_a();



obj_b美元-> say_b();

>

结果如下:

复制代码如下:A说base_class

一表示,derived_class

B表示,derived_class

B表示,derived_class

有时候,我们可以用get_class代替__class__

4。__function__和__method__

__function__:函数名,返回的结果在PHP5是大小写敏感的

__method__:在方法函数名和PHP5中返回的结果是大小写敏感的

二是方法的名称。有差别吗

复制代码代码如下:< PHP

类测试

{

函数A()

{

回声__function__;



回声__method__;

}

}

函数OD(){

回声__function__;



回声__method__;

}

新测试();

元测试(a);



(OD);

>

返回结果:



测试:

OD

OD

与孤立函数相比,两个函数可以提取函数名。没什么区别。如果是在类的方法,__function__只能提取类的名称,而__method__不能提取的方法的名称,但也提取类名。

5。__dir__

文件所在的目录。如果使用包含文件的目录,包括文件位于返回。它相当于目录(__file__)。除非根目录,该目录的名称不包括斜线结束。(新增PHP 5.3.0)

如果你想在5.3以前的版本使用__dir__,你可以这样做

复制代码代码如下:< PHP

如果(!定义('__dir__ ')){

IPO(__file__美元=个子, / );

定义(__dir__

}

>

6。__namespace__

当前命名空间的名称(例敏感)。这个常数定义在编译时(PHP 5.3.0添加)

7。__static__

当调用类的静态方法时,返回类名并区分实例和案例。如果在继承中调用,可以返回继承的类名,不管它是在继承中定义的。

复制代码代码如下:< PHP

/ / PHP5.3

类模型

{

公共静态函数查找()

{

回声__static__;

}

}

类产品扩展模型{ }

类用户扩展模型{

产品::(查找)

用户::(查找)

>

补充:PHP中的魔法方法

__construct()当一个对象被实例化时,这个对象的方法被称为第一。

__destruct()调用方法时,对象或对象的操作被终止。

__get()是当它试图读一个不存在的属性称为。

__set()是当它试图写入值到不存在所谓的属性。

__call()调用方法时,它试图调用一个不存在对象的方法。

__tostring()被调用时,一个对象是印刷

__clone()被调用时,对象的克隆

__isset()

__unset()

__autoload($ className)

__sleep()

__wakeup()

希望本文能对大家的PHP程序设计有所帮助。

相关文章

插图画家用毛笔制作中文书法教程

插图画家用毛笔制作中文书法教程

教程,中文,图画,电脑软件,本教程主要使用插图制作简单的手写毛笔字,教程的过程不是很难。喜欢的朋友可以一起学习教程。 本教程主要使用插图制作简单的手写毛笔字,教程的过程不是很难。喜欢的朋友可以一起学习教程。…

PS外部过滤器把帅哥照片变成漂亮的

PS外部过滤器把帅哥照片变成漂亮的

过滤器,照片,插图,帅哥,漂亮,本教程是向朋友介绍的,使用PS外部过滤器将帅哥照片转化为审美插画效果。教程产生的效果非常好。建议像你这样的朋友一起学习这个教程。 本教程教PS照片处理学习者使用PS滤镜把外部照片变成漂亮的插图,手绘教程是…

PHP+mysqli实现数据库中的表的信息

PHP+mysqli实现数据库中的表的信息

方法,数据库中,电脑软件,PHP,mysqli,本文阐述了PHP + mysqli实现方法打印表格信息(包括标题)到一个数据库中的表。分享给你供你参考。以下是如下: 代码的这一部分将被查看。我们需要学习基本知识: 复制代码代码如下: $ mysqli =新的mysqli(loc…

InDesign布局设计案例说明(教程)

InDesign布局设计案例说明(教程)

布局,教程,案例,电脑软件,InDesign,本教程为您讲解InDesign布局设计的教程,非常实用,为设计人员很有帮助,我希望你喜欢它 本教程为您讲解InDesign布局设计的教程,非常实用,为设计人员很有帮助,我希望你喜欢它!以下是以下内容: 本教程的结束,希望对…

Javascript中的值是通过值传递还是通过引

Javascript中的值是通过值传递还是通过引

引用传递,值传递,电脑软件,Javascript,最近有一个有趣的问题:js中的值是通过值还是引用传递的 在我们分析这个问题之前,我们需要知道什么叫值,什么是引用,在计算机科学中,这个部分叫做评价策略,它决定变量之间的值,函数调用和参数之间的值是如何传…

浅谈面向对象类中javascript的实现

浅谈面向对象类中javascript的实现

面向对象,浅谈,类中,电脑软件,javascript,物体是人们想要研究的任何东西,从最简单的整数到复杂的飞行器等等,都可以看作是一个物体。它不仅能表达具体的事物,而且能表达抽象的规则、计划或事件。——百度百科 面向对象编程(OP)是最流行的编程模…

PS图象处理软件以时尚大气与流美的

PS图象处理软件以时尚大气与流美的

美的,图象,大气,处理软件,海报,流体效应更为常用。例如,发现以下效果。作者会找到一些动态的人物图片,然后在衣服的边缘添加一些液体,然后添加一些几何图形和黑白背景。时尚的气氛充满紧张气氛。 流体效应更为常用。例如,我们应该找到一个相对…

PS图象处理软件净GIF动态惊艳

PS图象处理软件净GIF动态惊艳

动态,图象,处理软件,惊艳,电脑软件,本教程是GIF动态图片的制作方法到惊人的PS图象处理软件教程制作的效果很漂亮,很简单的方法,这里推荐爱的朋友可以跟着教程一起学习 我经常在网上看到一些动态的图片,他们觉得很刺眼。事实上,只要我们想做,我们…

jQuery实现瀑布流布局

jQuery实现瀑布流布局

瀑布流布局,电脑软件,jQuery,HTML 复制代码代码如下所示: CSS 复制代码代码如下所示: { * 保证金:0; 填充:0; } { #主要 职位:相对; } {。箱 填充物:00 15px 15px; 浮点数:左; } {。PIC 填料:10px; 边境:1px solid # CCC; 边界半径:5…

教你用人工智能制作漂亮而肥胖的字

教你用人工智能制作漂亮而肥胖的字

字体,人工智能,肥胖,教你用,漂亮,本教程是向朋友介绍的,用ai制作漂亮又可爱的胖字体,教程制作的字体非常可爱,难度不是很大,推荐给朋友,希望大家喜欢。 本教程是向朋友介绍使用ai制作漂亮而可爱的胖字体,教程制作的字体非常可爱,难度不是很大,但教…

jQuery实现单击和鼠标感应事件。

jQuery实现单击和鼠标感应事件。

单击,事件,鼠标,感应,电脑软件,1。实现单击事件的动态切换 我们谈到toggleClass()之前。对于单击事件,jQuery还提供了一个动态切换的切换()方法。该方法接受两个参数,这两个参数都是侦听器函数,它们在单击事件中交替使用。 示例:单击事件的动态交…

标志设计技术的图形化描述

标志设计技术的图形化描述

描述,图形化,标志,技术,电脑软件,这是初学者的笔记,对我自己的设计有一定的了解。我希望你能分享你的经验,创造一个更好,更合理的设计。 这是初学者的笔记,对我自己的设计有一定的了解。我希望你能分享你的经验,为你做一个更好更合理的设计。 …