首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP定义常量和魔术常量

魔术常量(8个) 1、__LINE__ 返回文件的当前行号。 2、__FILE__ 返回文件完整路径和文件名。如果用在包含文件,则返回包含文件名。...自 PHP 5 起本常量返回该函数被定义名字(区分大小写)。在 PHP 4 该值总是小写字母。 5、__CLASS__ 返回类名称(PHP 4.3.0 新加)。...自 PHP 5 起本常量返回该类被定义名字(区分大小写)。在 PHP 4 该值总是小写字母。 6、__TRAIT__ Trait 名字(PHP 5.4.0 新加)。...自 PHP 5.4 起此常量返回 trait 被定义名字(区分大小写)。Trait 名包括其被声明作用区域(例如 Foo\Bar)。...此常量是在编译时定义PHP 5.3.0 新增) 预定义常量 PHP_VERSION PHP 程序版本,如4.0.2 PHP_OS

4.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

PHPdefine() 与 const定义常量区别详解

本文实例讲述了PHPdefine() 与 const定义常量区别。分享给大家供大家参考,具体如下: 前言 今天在Stackoverflow又看到一个很有趣文章,所以翻译过后摘了过来。...文章是由PHP开发成员之一NikiC写,权威性自然毋庸置疑 正文 在PHP5.3,有两种方法可以定义常量: 使用const关键字 使用define()方法 const FOO = 'BAR'; define...而define目前是不支持这一功能,但是该功能会在PHP7被实现: const FOO = [1, 2, 3]; // 在PHP 5.6有效 define('FOO', [1, 2, 3]);...尤其是在使用define定义大量常量时,PHP运行速度会变得非常慢。...{ const BAR = 2; // 有效 } class Baz { define('QUX', 2); // 无效 } 总结 除非你需要使用表达式或者在条件语句定义常量,不然的话仅仅是为了代码简单可读性你都最好要使用

98810

PHP const定义常量及global定义全局常量实例解析

const 常量 1.在定义时必须被初始值, 2.前面不加任何修饰符 3.变量名字母一般都大写 4.常量可以被子类继承 5.一个常量是属于一个类,而不是某个对象 作用:当某些值是固定不变,就用...const 1.const 定义常量和define()定义常量区别?...用法二:const定义常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。在运行时定义一个常量。...define(‘TXE’,100,TRUE); 用法三:const不能在条件语句定义常量,而define函数可以。...PHP $a = 123; function aa() { global $a; //如果不把$a定义为global变量,函数体内是不能访问函数体外部$a,但是可以定义一个相同名字$a,此时这个变量是局部

1.9K30

【说站】php定义常量方法区别

php定义常量方法区别 区别说明 1、const是一种语言结构,define()是一个函数,const编译比define()快。...const关键字定义常量区分大小写,define()函数可以通过第三个参数来决定是否区分大小写。 实例 <?...php // 常量 // 常量定义和使用 // 定义方法1:define()函数 define("CON_INT", 100); echo CON_INT; // 将此常量使用定义为可以不区分大小写...$i, 1 + $i); }   echo YDMA_16;   // const不能在条件语句定义常量 /* if(true){ const FOO0 = 'BAR';  // 无效 } if(true...echo ""; print_r(get_defined_constants()); // 获取本脚本中所有可以访问到常量,输出一个超长数组 以上就是php定义常量方法区别,希望对大家有所帮助

92720

PHP那些魔术常量

之前我们已经了解了一些常用魔术方法,除了魔术方法外,PHP还提供一些魔术常量,相信大家在日常工作也都使用过,这里给大家做一个总结。...自 PHP 5 起本常量返回该函数被定义名字(区分大小写)。在 PHP 4 该值总是小写字母。 echo __FUNCTION__ ....自 PHP 5 起本常量返回该类被定义名字(区分大小写)。在 PHP 4 该值总是小写字母。类名包括其被声明作用区域(例如 Foo\Bar)。...自 PHP 5.4 起此常量返回 trait 被定义名字(区分大小写)。Trait 名包括其被声明作用区域(例如 Foo\Bar)。 echo __TRAIT__ ....此常量是在编译时定义PHP 5.3.0 新增)。 echo __NAMESPACE__ .

1.4K10

PHP定义常量DIRECTORY_SEPARATOR

DIRECTORY_SEPARATOR是一个显示系统分隔符命令,DIRECTORY_SEPARATOR是PHP内部常量,不需要任何定义与包含即可直接使用。...众所周知,在windows下路径分隔符是(当然/在部分系统上也是可以正常运行),在linux上路径分隔符是/,这就导致了一个问题,比如开发机器是windows,有一个图片上传程序,调试机器上指定上传文件保存目录是...这个问题就是出在文件分隔符上,windows上习惯性使用作为文件分隔符,但是在linux上人家是不认识这个标识,人家只认识/,于是就要引入下面这个php内置变量了:DIRECTORY_SEPARATOR...例如discuz里面是这样写:define(‘S_ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR); 回到问题本身上,DIRECTORY_SEPARATOR是一个返回跟操作系统相关路径分隔符...php内置命令,在windows上返回,而在linux或者类unix上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录时候会用到。

1.5K70

PHP过滤器预定义常量

参考链接: PHPmagic常量 变量类型  常量名值(PHP7.2.4)说明INPUT_POST0POST变量INPUT_GET1GET变量INPUT_COOKIE2COOKIE变量INPUT_ENV4ENV...变量INPUT_SERVER5SERVER变量INPUT_SESSION6SESSION变量INPUT_REQUEST99REQUEST变量 过滤器标记  常量名值(PHP7.2.4)说明FILTER_FLAG_NONE0...验证过滤器  常量名值(PHP7.2.4)说明FILTER_VALIDATE_INT257整型验证过滤器FILTER_VALIDATE_BOOLEAN258布尔验证过滤器FILTER_VALIDATE_FLOAT259...起,MAC地址验证过滤器FILTER_VALIDATE_DOMAIN277域名验证过滤器 清洗过滤器  常量名值(PHP7.2.4)说明FILTER_SANITIZE_STRING 513 字符串过滤器...起,全部特殊字符过滤器 其他  常量名值(PHP7.2.4)说明FILTER_DEFAULT 与配置默认过滤器相同 与配置默认过滤器相同FILTER_CALLBACK1024回调过滤器

1.6K20

CC++define定义常量与const常量

常量是在程序不能更改量,在C/C++中有两种方式定义常量,一种是利用define宏定义方式,一种是C++中新提出来const型常变量,下面主要讨论它们之间相关问题; define定义常量:...,入栈参数是10,根本没有取nNum值得相关操作,在利用const定义常量时,编译器认为既然这是一个常量,应该不会修改,为了提升效率,在使用时并不会去对应内存寻址,而是直接将它替换为初始化时值...2)define定义常量编译器不会进行任何检查,const定义常量编译器会进行类型检查,相对来说比define更安全 3)define宏在使用时是替换不占内存,而const则是一个变量,占内存空间...4)define定义宏在代码段不可寻址,const定义常量是可以寻址,在数据段或者栈段。...5)define定义宏在编译前预处理操作时进行替换,而const定义变量是在编译时决定 6)define定义宏是真实常量,不会被修改,const定义实际上是一个变量,可以通过相关手段进行修改

1.7K10

php定义超全局数组和预定义常量

定义 超全局变量,是在全部作用域中始终可用内置变量。 PHP许多预定义变量都是“超全局”,这意味着它们在一个脚本全部作用域中都可用。...在函数或方法无需执行 global $variable 来访问它们。 使编写程序更方便快捷。...请求提交到脚本变量,变量等提交信息显示在地址栏,最大提交2kb数据 $_POST:经由http post请求将提交到脚本变量,变量信息不显示地址栏,默认提交2mb可以在php修改数据 $_REQUEST...$_SERVER:变量和当前web服务器设置有关,和当前脚本执行环境相关 $_ENV:执行环境提交到脚本变量 $GLOBALS:当前脚本有效变量都在此,包括系统预定义和用户自定义变量 ---- $_...'];//返回浏览当前页面用户IP echo $_SERVER['REMOTE_PORT'];//返回用户连接web服务端端口 ---- 预定义常量  __LINE__ 返回文件的当前行号  __FILE

2.6K10

详解PHP8个魔术常量

PHP 向它运行任何脚本提供了大量定义常量。 不过很多常量都是由不同扩展库定义,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。...有八个魔术常量它们值随着它们在代码位置改变而改变。 例如 __LINE__ 值就依赖于它在脚本中所处行来决定。这些特殊常量不区分大小写,如下: __LINE__ 文件的当前行号。 <?...自 PHP 5 起本常量返回该函数被定义名字(区分大小写)。在 PHP 4 该值总是小写字母。 <?php function test() { echo '函数名为:' ....以上实例输出结果为: 函数名为:test __CLASS__ 类名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义名字(区分大小写)。...以上实例输出结果为: 命名空间为:”MyProject” 以上就是详解PHP8个魔术常量详细内容,更多关于PHP 魔术常量资料请关注ZaLou.Cn其它相关文章!

60920

java常量定义

如可以利用如下形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容: 一是常量定义时候,就需要对常量进行初始化。...并把生成随机数赋值给常量int1与int2。细心读者会发现,虽然同样是赋值语句,但是以上两个语句中有一个细小差别,即在第二条语句中多了一个关键字static。...那么以上两条语句有什么差别吗?我们首先来看Private final int int1=rd1.nestInt这条语句。虽然int1也是一个常量,但是其是在对象建立时候初始化。...而在两次对象初始化过程,由于生成随机数不同,所以常量初始化值也不同。最后导致结果就是,虽然int1是常量,但是在不同对象,其值有可能是不同。可见,定义为final常量并不是恒定不变。...以确保不同对象中都只有一个常量值。或者说,不同对象引用常量其实指向是内存同一块区域。

87930

Java定义常量(Constant) 几种方法

常量使用目的 1,为什么要将常亮提取出来? 2,提取出来怎么定义定义在interface,还是class?有什么区别?...不过我觉得提取出来并不会有利于代码性能提升,因为常量分配在内存常亮池中,所以内存不会出现多个相同常量字符串。总的来说提取常量主要是为了避免魔法数字和提高代码可读性。...2)常亮定义在finalclass,防止被其它类继承和实例化。定义在interface中性质也是一样,static final属性。但是interface看起来就是会被继承。...interface定义常量 采用接口(Interface)变量默认为static final特性。...ConstantEnum { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 普通类定义常量

3.1K50

Python 定义自己常量

在实际程序开发,我们通常会将一个不可变变量声明为一个常量。...在很多高级语言中都会提供常量关键字来定义常量,如 C++ const , Java final 等,但是 Python 语言因为变量无类型,所以也就不存在这样修饰符,其本身并未提供任何机制来进行常量定义...因此我们只能通过自己定义方法来定义一个符合常量规则类,使得该类定义成员属性满足常量属性。...在 Python ,当我们对类属性进行赋值时,会自动调用 object 类 __setattr__() 函数,该函数定义如下: object....__dict__[name] = value # 将系统加载模块列表 constant 替换为 _const() 实例 sys.modules[__name__] = _const() 在其它文件定义常量

3.6K50

PHP面向对象-类常量

PHP ,类常量是指在类定义定义固定值,一旦定义就不可改变。类常量可以被类任何方法调用,也可以通过类名直接访问。...与普通变量不同,类常量定义时必须被赋值,并且不能被重新赋值或取消定义。类常量是通过 const 关键字定义。..."\n";在这个示例,我们定义了一个 Math 类,并定义了一个名为 PI 常量,其值为 3.14159。...我们还定义了一个名为 areaOfCircle 方法,该方法接受一个参数 radius,计算圆面积并返回。在方法,我们使用 self::PI 访问 Math 类常量 PI。...例如,我们可以在应用程序 bootstrap 文件定义全局常量:define('SITE_NAME', 'My Website');然而,使用类常量好处在于它们可以被限制在类中使用,从而减少命名冲突可能性

83730

go常量无类型常量

Go语言常量有个不同寻常之处。虽然一个常量可以有任意一个确定基础类型,例如int或float64,或者是类似time.Duration这样命名基础类型,但是许多常量并没有一个明确基础类型。...,当赋值给特定类型时精度会有影响 只有常量可以是无类型。...当一个无类型常量被赋值给一个变量时候,或者出现在有明确类型变量声明右边,无类型常量将会被隐式转换为对应类型 对于常量面值,不同写法可能会对应不同类型。...例如0、0.0、0i和\u0000虽然有着相同常量值,但是它们分别对应无类型整数、无类型浮点数、无类型复数和无类型字符等不同常量类型。...同样,true和false也是无类型布尔类型,字符串面值常量是无类型字符串类型。

1.5K20
领券