Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 定义的常量太多会适得其反吗?_Php_Constants - Fatal编程技术网

Php 定义的常量太多会适得其反吗?

Php 定义的常量太多会适得其反吗?,php,constants,Php,Constants,这是一些人遇到的陷阱吗?我最近才发现定义一个常量以全局使用的概念,但我发现自己试图定义掉每一个重复的代码块(不管有多长) 我能得到两个避免使用常量的主要原因和一个支持性原因/示例来说明常量的巨大用途吗?不使用常量的原因-拥有全局数据通常被认为是不好的做法。由于PHP具有面向对象的能力,大多数编写良好的软件都会利用它。这是一个很好的解释,不会对封装和抽象太冗长 我考虑使用它们的原因,通常是对于可重用的东西,我希望同时更改所有的内容。我能想到的一个例子是联系方式。它通常位于页脚,有时位于页眉,通常位

这是一些人遇到的陷阱吗?我最近才发现定义一个常量以全局使用的概念,但我发现自己试图定义掉每一个重复的代码块(不管有多长)


我能得到两个避免使用常量的主要原因和一个支持性原因/示例来说明常量的巨大用途吗?

不使用常量的原因-拥有全局数据通常被认为是不好的做法。由于PHP具有面向对象的能力,大多数编写良好的软件都会利用它。这是一个很好的解释,不会对封装和抽象太冗长

我考虑使用它们的原因,通常是对于可重用的东西,我希望同时更改所有的内容。我能想到的一个例子是联系方式。它通常位于页脚,有时位于页眉,通常位于联系人页面上。如果我想重用一个模板,我可以在一个地方更改信息,并在整个站点上有效地更新它。通常,数据库凭据位于同一文件中。我并不是说这是最佳实践,但对于网站的全局更改,只需对一个文件进行更改是很方便的


那只是我的2美分

你把代码块变成常数。。。?你是怎么做到的?@deceze,即使你问我,我想我知道。例如,favicon、metadata和其他永不改变的head元素都可以包装在一组引文中,并作为常量进行响应,这并不坏,但什么时候不应该呢?我一直有这样的感觉,我正在努力从我的身体中删除代码,并担心它会影响性能或很快足够的调试能力。这最终会成为一个问题吗?这取决于你问谁,一直使用OOP的人说永远不要使用它们。我的建议是不要随意使用它们,如果一个变量可以被封装并做同样的工作,就使用一个变量。否则,在阅读上面的注释后,尝试在代码中移动以查看您正在使用的值可能会变老。对于html块,我将使用includes而不是常量。