很多站长朋友们都不太清楚php中定义常量,今天小编就来给大家整理php中定义常量,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php如何在类中定义常量 2、 php能定义数组为类的常量吗 3、 php 为什么这样定义常量 4、 PHP中怎么声明一个常量? 5、 关于PHP面向对象中定义常量const和define 6、 PHP如何添加预定义常量或变量 php如何在类中定义常量我们可以在类中定义常量。常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号。
class MyClass
{
const constant = 'constant value';
function showConstant() {
echo self::constant . "\n";
}
}
echo MyClass::constant . "\n";
$classname = "MyClass";
echo $classname::constant . "\n"; // PHP 5.3.0之后
$class = new MyClass();
$class->showConstant();
echo $class::constant."\n"; // PHP 5.3.0之后
php能定义数组为类的常量吗可以。
在PHP中,我们不能用const直接定义数组常量,但是const可以定义字符串常量,结合eval()函数使字符串常量能执行。所以,我们可以用定义字符串常量的方式来返回一个数组常量。
<?php
class Test
{
const MY_ARR="return array(\"a\",\"b\",\"c\",\"d\");";
public function getConstArray()
{
return eval(Test::MY_ARR);//eval()函数把字符串作为PHP代码执行
}
}
$t=new Test();
print_r($t->getConstArray());
?>
php 为什么这样定义常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有
$
符号)。
定义和用法
define()
函数定义一个常量。
常量类似变量,不同之处在于:
在设定以后,常量的值无法更改
常量名不需要开头的美元符号
($)
作用域不影响对常量的访问
常量值只能是字符串或数字
defined()
函数检查某常量是否存在。若常量存在,则返回
true,否则返回
false。
PHP中怎么声明一个常量?常量顾名思义是不能修改的,定义的时候就要赋值而且不要加$。两种定义方法
1.define("TAX_RATE",1);
2.const TAX_RATE=1 ; 第二种只适用于PHP5.3以上的版本。
关于PHP面向对象中定义常量const和defineconst用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。define不能在类中定义而const可以,既然是面向对象了,当然是const用的多啊
PHP如何添加预定义常量或变量常量使用define语句定义即可
全局变量可以定义到全局变量数组$GLOBALS中
参考手册 : ...
看题主的问法,感觉"环境变量"可能符合题主要求
nginx配置PHP server的时候可以增加以下指令
fastcgi_param CUSTOM_ENV_VAR "my_env_value";
之后只要是通过nginx访问的PHP请求,在任何代码中中使用 $_SERVER['CUSTOM_ENV_VAR'] 就能取到你需要的值
又或者在fastcgi的配置文件中增加一行:
env[CUSTOM_ENV_VAR]="my_env_value"
之后只要是php-fastcgi处理的PHP文件,都可以通过 getenv('CUSTOM_ENV_VAR'); 来获取设置的值
如果题主确实打算不亲自define而要得到类似E_ALL那样的常量的话,就需要写点C了
题主可以新建一个自己的扩展(或者直接随便找个你会编译的扩展也行),在PHP_MINIT_FUNCTION中使用以下宏来定义自己的常量
REGISTER_STRINGL_CONSTANT("MY_SITE_VERSION", "1.0", 3, CONST_PERSISTENT);
之后重新编译PHP即可.
关于php中定义常量的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php中定义常量 php如何定义一个常量?常量名有哪些命名规则?的详细内容...