草庐IT

CONSTANTS

全部标签

php - static 关键字对常量有影响吗?

classA{constFOO=1;}classBextendsA{constFOO=5;functionfoo(){printself::FOO;printstatic::FOO;}}$b=newB;$b->foo();两种情况下都打印5。那么在常量上使用static与self没有区别吗? 最佳答案 在LateStaticBinding的上下文中有区别。考虑这段代码:bar();//15如果您运行这段代码,输出将是:15当引用self::FOO时,打印1的值(即使bar()是在类上调用的B,但是当使用static关键字时,后期静态

PHP 在命名空间中声明常量

我想在命名空间内声明常量。当然,我希望它们在它之外不可见。使用define()是行不通的,因为它使常量成为全局常量,而不管它在哪个命名空间中执行(如果我理解得很好的话)。那我能做吗:namespacepaths;constmodels='Models/';constviews='Views/';constclasses='Classes/';还有别的地方:require_once(paths\models.'user.php');//worksrequire_once(models.'user.php');//fails另外,如果我这样做:namespacens;namespacesu

php - 更改 Woocommerce 中显示的变化量

默认情况下,Woocommerce每次运行加载50个变体。在网上搜索,我发现了一行代码要输入到我的事件子主题的functions.php文件中。define(‘WC_MAX_LINKED_VARIATIONS’,150);将其复制到functions.php文件后,我没有得到任何更改,并且仍在加载50个变体,而不是我在代码行中指示的150个。这是functions.php文件: 最佳答案 刚刚在我的本地机器上测试它,发现define('WC_MAX_LINKED_VARIATIONS',150);可以在functions.php或w

php - 如何在类中包含定义常量的文件(及其范围)

假设我们有以下内容:some.class.phpclass{public__construct(){fun_stuff();}}configuration.incconstSOMECONST=1;constSOMEOTHERCONST=2;我想做这样的事情:some.class.phpclass{public__construct(){include_once(configuration.inc);fun_stuff();}}现在可以了,但是常量不是在类的范围内定义的(echosome::SOMECONST;)而是在全局范围内定义的(echoSOMECONST;)我真的想把常量放在另一

php - 如何定义一个定义常量的php配置文件并在项目中的任何地方使用它

如何定义一个配置文件,我可以在整个项目的任何地方使用它,而不需要包含所有地方? 最佳答案 有两种方式,define():您使用define方法定义的常量可用于整个项目。define('SITE_URL','/path/to/docroot/');echoSITE_URL;类常量:类常量对整个项目可用。classMyConfig{constSITE_URL='/path/to/docroot/';}echoMyConfig::SITE_URL; 关于php-如何定义一个定义常量的php配置

php - 类文件中是否有全局 PHP 常量?

类文件中是否有全局PHP常量?define('SITE_PATH','C:/webserver/htdocs/somefolder/');然后在我的类文件中尝试这个public$debug_file=SITE_PATH.'debug/debug.sql';虽然这似乎行不通,Parseerror:parseerror,expecting',''or';''inC:\webserver\htdocs\somefolder\includes\classes\Database.class.phponline21 最佳答案 我支持其他人所说的

php - 本地主机上的目录名(__FILE__)

我正在使用WAMP并在www目录中有一个开发站点。我想使用dirname(__FILE__)来定义服务器根目录的路径。目前我使用的配置文件包含:define('PATH',dirname(__FILE__));我将配置文件包含在我的header.php文件中,如下所示:然后,在我的子页面上,我使用常量PATH通过包含header.php来定义路径。但是,我的链接是这样出来的:我需要做什么来解决这个问题?因为我在header.php文件中包含了我的常量,所以我无法访问初始require_once("../inc/header.php");中的常量。还有什么方法可以找到header.php

php - $foo[bar] 和 $foo ['bar' ] 在 php 中的区别

我一直在很多项目中使用$foo[bar]而没有注意到丢失的'现在,我明白它为什么起作用了,我假设这是因为缺少的常量被它的名字替换了,因此指的是完全相同的数组项。但是..是不是很不对还是可以接受。缺点是什么?我应该挖掘旧项目来替换它,还是性能下降真的不明显? 最佳答案 Whatarethedownsides?假设您有一个像http://somesite.com/test.php?item=20这样的URL,场景:1(你的情况)场景:2(最坏的情况)ShouldIdiginoldprojectstoreplacethisoristhep

PHP 反射 : get constant's doc comment

检索方法和属性的文档注释很容易。但是常量呢?没有允许我对它们调用getDocComment()的ReflectionConstant类。可以使用ReflectionClass::getConstants获取常量列表及其值作为字符串,但仅此而已。有解决方法吗? 最佳答案 据我所知,没有内置函数或类允许您检索类常量文档注释。但是,您可以使用token_get_all($classContent)并编写自己的解析器。以下是我在需要此功能后得出的结论:/***SimpleDocCommentsupportforclassconstants.

php - 为什么null可以写成反斜杠?

在所有PHP手册中,它都说null、true和false是内部值。但是,它没有说明为什么它们可以用反斜杠编写:\null、\false、\true。PHP中的null、false和true到底是什么?常数还是解释器的一些技巧? 最佳答案 null、false和true在PHP中定义为常量。反斜杠表示globalnamespace,因此您可以像这样为这些常量指定完整的命名空间:\null。这不是必需的,因为所有常量都是全局常量(使用const定义的除外)。Likesuperglobals,thescopeofaconstantisgl