代码之家  ›  专栏  ›  技术社区  ›  Abraham Brookes

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

  •  0
  • Abraham Brookes  · 技术社区  · 6 年前

    我有一组API键,它们在我的代码库中是常量—我有一个dev键和一个live键。它们存储在自己的“keys.php”文件中。

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

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

    当我这样分配类常量时,这很好:

    const API_USER_NAME = 'user_name';
    

    但要将这些键存储在它们自己的文件中,并将它们包含到类文件中,然后这样定义这些常量:

    const API_USER_NAME = $user_name;
    

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

    是否还有其他方法可以使用变量分配给常量?或者,至少将它们的密钥保存在其集中的文件中,但仍然可以在我的类的静态方法中访问它们?

    3 回复  |  直到 6 年前
        1
  •  0
  •   Jeto    6 年前

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

    require $path_to_somewhere . '/keys.php';
    
    class YourClass 
    {
      const API_USER_NAME = KEY_USER_NAME;
      const API_USER_AGE = KEY_USER_AGE;
    
      // ...
    }
    
        3
  •  0
  •   yivi SilverLink    6 年前

    as the documentation states

    const

    const FOO = 'BAR';
    

    require_once('constants.php');
    var_dump(defined('FOO'));
    // outputs bool(true)
    

    define()

    $bar = 'baz';
    define('FOO', $bar);
    
    echo FOO;
    // outputs 'baz';