dsyct08008 2018-12-10 23:51
浏览 177
已采纳

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

I have a set of API keys that are constant across my codebase - I have a dev key and a live key. They are stored in their own 'keys.php' file.

I have a class that handles accessing the API and I am storing the keys in the class as class constants.

I want to be able to swap out the dev keys for live keys and access them in a static method of my class.

This works fine when I assign the class constant like this:

const API_USER_NAME = 'user_name';

But want to store the keys in their own file, and include them into the class file, and define those constants as such:

const API_USER_NAME = $user_name;

But apparently I can't assign a variable to a constant, even though that variable will not change value during execution of the program.

Is there another way I can use a variable to assign to a constant? Or at least, keep they keys in their centralized file, but still access them in the static methods of my class?

  • 写回答

3条回答 默认 最新

  • douqianni4080 2018-12-11 00:30
    关注

    You could simply define your keys themselves as constants:

    keys.php

    const KEY_USER_NAME = 'user_name';
    const KEY_USER_AGE = 'user_age';
    // ...
    

    Class

    require $path_to_somewhere . '/keys.php';
    
    class YourClass 
    {
      const API_USER_NAME = KEY_USER_NAME;
      const API_USER_AGE = KEY_USER_AGE;
    
      // ...
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决