Wamp或其他php服务器定义整体全局常量

时间:2016-09-18 04:34:52

标签: php constants global

我想知道是否应该总是按每个php客户端请求定义常量。我们永远不会改变同一网页的一些固定值:最大和最小允许年龄,身高或体重;或者当我们将它们用作不同事物的代码时更多作为配置常量的值,有没有办法在服务器启动时定义一次并在每个运行的php脚本中使用它们?

我正在考虑使用php.ini来存储这些值。但我不认为将我的代码与其他代码混合是一个好主意。所以我问是否有办法做到这一点?

是的,并且不会污染全局命名空间,我们可以轻松地使用一个数组来存储所有命名空间。

编辑:我将这些常量保存在.ini文件中。

编辑2:这里是我的常量ini文件的示例:

; **********************  Personal data  **********************
min_height = 100
max_height = 250
min_weight = 30
max_weight = 400

; **********************  Action Constants  **********************
act_create_account = 1
act_add_picture = 20
act_add_comment = 30

; friendship
act_add_friendship = 10
act_reject_friendship = 11
act_accept_friendship = 12
act_unfriend = 13

;blocking
act_block = 40
act_unblock = 41

; **********************  Messages Constants  **********************
max_message_query_number = 21

; **********************  messages chat flags  **********************
message_receiver_unseen = 2
message_sender_unseen = 1

2 个答案:

答案 0 :(得分:2)

您可以使用环境变量

https://github.com/vlucas/phpdotenv

易于使用

答案 1 :(得分:1)

我理解你的观点,但在处理可伸缩性,分发和/或迁移时,应用程序预先设置这些项目并且主体中维护者​​和服务器之间没有手动交互应该更为理想。 。

最好的例子是,您可能不希望每次在新环境或服务器中部署应用程序时设置允许的最大和最小年龄,身高或体重。

此外,每个服务器手动配置数据库连接详细信息和API密钥和机密等设置等配置变量更为合理,因为这些是您不希望包含在存储库中的信息,因为这些信息是敏感的并且必须是私人的。