PHP的魔术常量都是由不同的扩展库定义的,只有在加载了这些扩展时才会出现,或者动态加载后

有八个魔术常量他们的值随着他们在代码中的位置改变而改变。

__LINE__  文件中的当前行号。

实列:

<?php

echo __LINE__;

?>

__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,择返回被包含的文件名。

<?php

echo __FILE__;

?>

__DIR__文件所在目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

他等价于dirname(__FILE__).除非是根目录,否者目录中名不包括末尾的斜杠

<?php

echo __DIR__;

?>

__FUNCTION__  函数名称 在函数中返回该函数被定义时的名字(区分大小写)。

<?php

function test() {

echo '该函数为:'.__FUNCTION__;

}

?>

__CLASS__  类的名称,返回该类被定义时的名字(区分大小写);

<?php

class test{

function _print(){

echo __CLASS__;

echo __FUNCTION__;

}

}

$t = new test();

$t->_print();

?>

输出结果为:

类名为:test

函数名为:_print

__TRAIT__ PHP实现了代码复用的一个方法,成为traits。

trait 名包括其被声明的作用区域,列如(Foo\Bar)

从基类继承的成员被插入的SayWorld Trait 中的 MyHelloWorld方法所覆盖。其行为为MyHelloWord类中定义的方法一致。

优先顺序是当前类中的方法会覆盖trait方法,而tarit方法又覆盖了基类中的方法。

<?php

Class Base{

public function sayHello(){

echo "hello";

}

}

trait Sayworld{

public function sayHello(){

parent::sayHello();

echo 'world';

}

}

class MyHelloWorld extends Base{

use SayWorld;

}

$o = new MyHelloWorld();

$o->SayHello();

?>

__NAMESPACE__ 当前命名空间的名称 (区分大小写)。

<?PHP

namespace MyProject;

echo __NAMESPACE__;

?>

PHP的魔术常量(常用八大常量)的更多相关文章

  1. struts2常用的常量constant

    常用的常量配置  struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为fa ...

  2. Struts2 常用的常量配置

    在struts2-core-2.1.8.1.jar的org.apache.struts2包下面的default.properties资源文件里可以查到常用的常量配置,这些不用刻意的记住:忘记的时候可以 ...

  3. struts2常用的常量constant(转)

    原文地址:http://blog.csdn.net/wfcaven/article/details/5937548 常用的常量配置  struts.serve.static.browserCache  ...

  4. PHP中的预定义常量、类常量和魔术常量的区别

    PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 对于一些基本的常量是这些常量在 ...

  5. php 常用的常量

    /* php 常用的常量 */ 1.系统常量 * FILE 当前PHP文件的相对路径 * LINE 当前PHP文件中所在的行号 * FUNCTION 当前函数名,只对函数内调用起作用 * CLASS ...

  6. C++常量(C++数值常量、字符串常量、符号常量)

    http://see.xidian.edu.cn/cpp/biancheng/view/104.html 字符串常量 用双撇号括起来的部分就是字符串常量,如"abc"," ...

  7. C#静态常量和动态常量的区别

    C#拥有两种不同的常量:静态常量(compile-time constants)和动态常量(runtime  constants).它们有不同的特性,错误的使用不仅会损失效率,还可能造成错误.相比之下 ...

  8. 常量函数、常量引用参数、常量引用返回值[C++]

    1. 关于常量引用正像在C语言中使用指针一样,C++中通常使用引用 有一个函数... foo()并且这个函数返回一个引用...... & foo()...., 一个指向位图(Bitmap)的引 ...

  9. C++常量指针与常量数据

    常量指针即指针是常量的,一但声明指向某个数据后不能被更改,但是指向的数据可以被更改.声明格式如下: ; int * const p = &demo; 常量数据是指数据是常量的,一但被初始化后不 ...

随机推荐

  1. P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles

    冲刺阶段的首篇题解! 题目链接:P2967 [USACO09DEC]视频游戏的麻烦Video Game Troubles: 题目概述: 总共N个游戏平台,金额上限V元,给出每个游戏平台的价钱和其上游戏 ...

  2. Null Hypotheses| Alternative Hypotheses|Hypothesis Test|Significance Level|two tailed |one tailed|

    9.1 The Nature of Hypothesis Testing Over the years, however, null hypothesis has come to mean simpl ...

  3. 使json或字典输出更美观

    这里是选取的项目中部分代码,但是关于json或字典格式化输出的代码是完整的def send_post(url, data): 使用json.dumps()后数据被转成了str类型,如果还要对该数据像字 ...

  4. iPhoneSE2要在印度独家生产真得没戏?

    现在,关于iPhone SE2的消息层出不穷,总的来说,它是一款真实存在的手机,整体性能和iPhone5X/SE相似,大概可能差不多会加上一些"无线充电"之类的无聊功能.普通消费者 ...

  5. 挑战中英实时语音翻译——Skype Translator 中文预览版登陆中国

    Translator 中文预览版登陆中国" title="挑战中英实时语音翻译--Skype Translator 中文预览版登陆中国"> 今天,我们正式宣布在中国 ...

  6. python基础修改haproxy配置文件

    1.通过eval(),可以将字符串转为字典类型. 2.Encode过程,是把python对象转换成json对象的一个过程,常用的两个函数是dumps和dump函数.两个函数的唯一区别就是dump把py ...

  7. Redis 原理

    线程IO模型 Redis 是个单线程程序!(对外网络请求服务) 对于那些时间复杂度为 O(n) 级别的指令,一定要谨慎使用,一不小心就可能会导致 Redis 卡顿. 使用缓冲区,事件轮询 API(Li ...

  8. loadrunner通过socket测接口

    #include "lrs.h" Action() {     //建立到服务端的连接     lrs_create_socket("socket1",&quo ...

  9. hexo-next-travis-ci 构建自动化部署博客

    构建效果如上面视频所示,如果浏览器不支持请戳一下链接: 自动化部署构建效果 .只要将编辑的 .md 文件推送到 github 上,博客网站就可以更新这篇文章. 其实差不多半年前也构建过一次,由于安装 ...

  10. WEB端缓存机制

    WEB端缓存机制 什么是WEB缓存 Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在于Web服务器和客户端(浏览器)之间的副本.缓存会根据进来的请求保存输出内容的副本:当下一个请 ...