包括使用Composer的PHP Defines()

Rya*_*die 8 php autoloader composer-php

我正在使用Composer进行模块依赖管理(喜欢使用autoload.php而不是大量的包含和需要!).

我想在存储凭据的情况下包含一个位于根Composer目录之外的PHP文件(用于安全性)defines().

这不起作用,composer.json:

{
  "autoload": {
    "classmap": ["../credentials.php"]
  }
}
Run Code Online (Sandbox Code Playgroud)

credentials.php:

define('RYAN','BRODIE');
Run Code Online (Sandbox Code Playgroud)

test.php:

require_once __DIR__.'/../vendor/autoload.php';
echo RYAN;
Run Code Online (Sandbox Code Playgroud)

结果Notice: Use of undefined constant RYAN.如果Composer的自动加载器仅用于Class包含,那么我会感激任何黑客(因为它)使这项工作.

tar*_*eld 17

该方法应该可以正常工作,但是你需要使用files而不是classmap例如;

{
    "autoload": {
        "files": [ "../constants.php" ]
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 2.5年后,我记得接受了! (2认同)