首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将另一个文件中的变量赋给一个类常量?

如何将另一个文件中的变量赋给一个类常量?
EN

Stack Overflow用户
提问于 2018-12-11 07:51:10
回答 2查看 1.5K关注 0票数 2

我有一组API密钥,它们在我的代码库中是恒定的--我有一个dev密钥和一个live密钥。它们存储在自己的“keys.php”文件中。

我有一个处理API访问的类,并且我将键作为类常量存储在类中。

我希望能够将dev键替换为活动键,并在我的类的静态方法中访问它们。

当我像这样给类常量赋值时,这可以很好地工作:

代码语言:javascript
复制
const API_USER_NAME = 'user_name';

但希望将键存储在自己的文件中,并将它们包含在类文件中,并按如下方式定义这些常量:

代码语言:javascript
复制
const API_USER_NAME = $user_name;

但是显然我不能将一个变量赋给一个常量,即使这个变量在程序执行期间不会改变值。

有没有其他方法可以使用变量来赋值给常量?或者至少,将它们的关键字保存在集中的文件中,但仍然在我的类的静态方法中访问它们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-11 08:30:07

您可以简单地将键本身定义为常量:

keys.php

代码语言:javascript
复制
const KEY_USER_NAME = 'user_name';
const KEY_USER_AGE = 'user_age';
// ...

班级

代码语言:javascript
复制
require $path_to_somewhere . '/keys.php';

class YourClass 
{
  const API_USER_NAME = KEY_USER_NAME;
  const API_USER_AGE = KEY_USER_AGE;

  // ...
}
票数 3
EN

Stack Overflow用户

发布于 2018-12-11 08:04:32

你可以使用.env来解决这个问题。

https://github.com/vlucas/phpdotenv

要获得您想要的结果,您可以在项目中的受保护文件夹中定义一个.env文件,并将gitignore设置为不存放您的.env。然后,在生产环境中,您可以使用您的产品定义的常量来设置.env。有很多使用.env的框架,Laravel就是一个很好的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53715441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档