PHP的魔术常量(常用八大常量)
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的魔术常量(常用八大常量)的更多相关文章
- struts2常用的常量constant
常用的常量配置 struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为fa ...
- Struts2 常用的常量配置
在struts2-core-2.1.8.1.jar的org.apache.struts2包下面的default.properties资源文件里可以查到常用的常量配置,这些不用刻意的记住:忘记的时候可以 ...
- struts2常用的常量constant(转)
原文地址:http://blog.csdn.net/wfcaven/article/details/5937548 常用的常量配置 struts.serve.static.browserCache ...
- PHP中的预定义常量、类常量和魔术常量的区别
PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 对于一些基本的常量是这些常量在 ...
- php 常用的常量
/* php 常用的常量 */ 1.系统常量 * FILE 当前PHP文件的相对路径 * LINE 当前PHP文件中所在的行号 * FUNCTION 当前函数名,只对函数内调用起作用 * CLASS ...
- C++常量(C++数值常量、字符串常量、符号常量)
http://see.xidian.edu.cn/cpp/biancheng/view/104.html 字符串常量 用双撇号括起来的部分就是字符串常量,如"abc"," ...
- C#静态常量和动态常量的区别
C#拥有两种不同的常量:静态常量(compile-time constants)和动态常量(runtime constants).它们有不同的特性,错误的使用不仅会损失效率,还可能造成错误.相比之下 ...
- 常量函数、常量引用参数、常量引用返回值[C++]
1. 关于常量引用正像在C语言中使用指针一样,C++中通常使用引用 有一个函数... foo()并且这个函数返回一个引用...... & foo()...., 一个指向位图(Bitmap)的引 ...
- C++常量指针与常量数据
常量指针即指针是常量的,一但声明指向某个数据后不能被更改,但是指向的数据可以被更改.声明格式如下: ; int * const p = &demo; 常量数据是指数据是常量的,一但被初始化后不 ...
随机推荐
- 103)PHP,递归读取目录内容
知识点总结: 打开某个目录 依次读取目录内文件 如果某个文件为目录 递归对该目录采用打开,读取,若还是目录,继续判断,读取 递归点: 如果子文件为目录,则递归 出口: 如果目录中不存在子目录,则不需要 ...
- 对“深入理解 Java 内存模型(六)——final”的学习
转载自https://www.infoq.cn/article/java-memory-model-6/ 与前面介绍的锁和 volatile 相比较,对 final 域的读和写更像是普通的变量访问.对 ...
- 图形学创世纪——写在SIGGRAPH 40年的边上
40年的边上" title="图形学创世纪--写在SIGGRAPH 40年的边上"> 前言: SIGGRAPH是由ACM SIGGRAPH(美国计算机协会计算机图形 ...
- 推荐几款开源的js日期控件
做为一个正规的网站,经常需要一些日期或时间的筛选,所以我们今天就推荐二十多款javascript的js日期/时间筛选插件.个个经典,绝对有你需要的. My97DatePicker ,国人开发的一款js ...
- 五、RabbitMQ Java Client基本使用详解
Java Client的5.x版本系列需要JDK 8,用于编译和运行.在Android上,仅支持Android 7.0或更高版本.4.x版本系列支持7.0之前的JDK 6和Android版本. 加入R ...
- Python 装饰器 多装饰器同时装饰一个函数 多参数函数
装饰器是在不修改源代码的情况下,使用装饰器增加原函数的功能. 在软件开发中有一个原则——"开放-封闭",简单地说就是已经实现的功能不允许被修改,但可以被扩展. 封闭:已经实现的功能 ...
- 浮动框架iframe
浮动框架式一种比较特别的框架,和frame比较类似.不过frame必须在frameset中才可以,而iframe不一样,首先, 他是一种内联框架,其次,他可以放在网页中的任何位置. 所以,iframe ...
- gitbook安装及初步使用
gitbook安装 https://www.jianshu.com/p/421cc442f06c https://blog.csdn.net/lu_embedded/article/details/8 ...
- 如何模拟ip
展开全部回答查看 https://segmentfault.com/q/1010000002990136 模拟国外ip https://gtmetrix.com/ 登录后才可以切换模拟的地区
- Qt QImag图像保存、格式转换
图像保存bool QImage::save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) ...