草庐IT

CONSTANTS

全部标签

php - PHP 和 JavaScript 的通用常量文件

为了不重复代码,大家建议如何在PHP和JavaScript之间共享常量文件?XML文件?我假设在PHP中混合使用javascipt不是正确的解决方案!?谢谢 最佳答案 http://php.net/manual/en/book.json.php我会说使用json。它原生于javascript,并且有一个用于php的解析器库。考虑以下几点:json:{constants:{var1:"value1",var2:"value2",var3:"value3"}}然后读入php:$const=json_decode(json_string)

PHP常量字符串方括号索引

我正在尝试获取一个常量字符串并将其索引,就好像它是一个字符数组(方括号语法)一样。当我尝试这段代码时,它在最后一行失败了。define('CONSTANT_STRING','0123456789abcdef');echoCONSTANT_STRING;//Worksbyitself:)$string=CONSTANT_STRING;echo$string[9];//Alsoworksbyitself.echostrlen(CONSTANT_STRING);//Alsoworksbyitself.echosubstr(CONSTANT_STRING,9,1);//Ok,yesthiswo

php - libxml 常量是可访问的,但不要注册为定义的常量

根据PHPdocumentation,在启用libxml扩展时定义了许多常量。这些在代码中是可以访问的,所以像var_dump(LIBXML_DTDLOAD);将返回int(4)的值(到目前为止没问题,这正是我希望看到的)让我困惑的是如果我这样做echovar_dump(defined(LIBXML_DTDLOAD));我得到一个bool(false)返回....那么如果常量没有(显然)定义,我该如何访问它并查看它的值呢?或者为什么defined()对明确定义的常量返回false?Demo 最佳答案 你没有引用常量名var_dump

php - 引用 const 变量时 $this 或 self 或 static 哪个最好?

我了解到static比self好,因为self进行后期静态绑定(bind)。但我想知道哪种方法最适合引用const变量。classBlack{constcolor='black';publicfunctionbyThis(){return$this::color;}publicfunctionbySelf(){returnself::color;}publicfunctionbyStatic(){returnstatic::color;}}我检查了所有三个getter都工作正常。哪个是最好的选择?(我使用的是PHP7.0) 最佳答案

php - 为什么 PHP 的空合并运算符 (??) 不能处理具有不同可见性的类常量?

考虑下面的例子。类a有privateconstSOMETHING,但类b有protectedconstSOMETHING。classa{privateconstSOMETHING='Thisisa!';publicstaticfunctionoutputSomething(){returnstatic::SOMETHING??self::SOMETHING;}}classbextendsa{protectedconstSOMETHING='Thisisb!';}echo(newb())::outputSomething();输出:Thisisb!但是现在如果我在类b中注释掉SOMETH

包含文件中 __FILE__ 的 PHP 输出

好的,这是一个真正的简短查询。我从函数内部调用__FILE__。现在,这个函数本身在一个必需的文件中。现在,当我从父文件内部调用此函数时,__FILE__会输出父文件还是包含的文件?哦,如果可能的话,我正在寻找可以确认的来源,因为我在这里的测试给出了完全荒谬的结果。此外,如果这应该显示子(包含的)文件,我应该如何处理才能显示父文件路径?(一些变化还是什么?) 最佳答案 __FILE__始终替换为出现该符号的文件名。要获取调用函数的文件名,可以使用debug_backtrace()。.这会将当前调用堆栈作为一个数组返回,每个子数组都包

php - 如何通过连接声明 PHP 类常量?

在PHP5类中,我想声明一个常量如下:classMyClass{constsEOLChars=chr(13).chr(10);这会产生错误(解析错误:语法错误,意外的“(”,期待“,”或“;”)。如何正确处理? 最佳答案 chr(13)等同于"\r"(CARRIAGERETURN)而chr(10)等同于"\n"(换行)。所以基本上你可以这样写你的代码:classMyClass{constsEOLChars="\r\n";} 关于php-如何通过连接声明PHP类常量?,我们在StackOv

php - 为什么非法常量名称在使用 define() 时不会抛出错误?

来自Constants手册:ThenameofaconstantfollowsthesamerulesasanylabelinPHP.Avalidconstantnamestartswithaletterorunderscore,followedbyanynumberofletters,numbers,orunderscores.Asaregularexpression,itwouldbeexpressedthusly:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*但是:define("0000X",1);不抛出任何错误或通知并且定义返回真值:var_

php - 为什么 PHP 不支持字符串中常量的花括号扩展?

PHP支持:$z=5;$str="zis$z";//result:"zis5"它支持这个:$c=newStdClass();$c->x=9;$str="xis{$c->x}";//result:"xis9"但它不支持这个:classabc{constn=2;}$str="xis{abc::n}";//result:"xis{abc::n}"为什么PHP不支持通过大括号语法插入常量?好像应该... 最佳答案 curly语法是扩展的变量语法。它用于将变量插入到字符串中。在PHP中,变量以$开头,其他所有内容都会产生语法错误。但是您可以做

PHP - 将类常量值分配给构造函数中的属性

我一直在尝试创建一个简单的类,它在类定义的顶部将默认属性值定义为类常量。但是,我的代码似乎并没有将常量的值分配给构造函数中的属性。classTester{constDEFAULT_VAL=500;private$val;publicfunction__construct(){$val=self::DEFAULT_VAL;}publicfunctionshow_val(){echo"DEFAULT_VALis".self::DEFAULT_VAL."";echo"valis".$val;}}$obj=newTester();$obj->show_val();运行上面的代码会产生结果:co