2013-07-01 9 views
5

Ich verwende Composer für Modul Abhängigkeitsverwaltung (liebevolle Verwendung von autoload.php statt einer Tonne von beinhaltet und erfordert!).Einschließlich PHP Defines() mit Composer

Ich möchte eine PHP-Datei, die sich außerhalb des Root Composer-Verzeichnisses befindet (aus Sicherheitsgründen), mit Anmeldeinformationen in defines().

Dies funktioniert nicht, composer.json:

{ 
    "autoload": { 
    "classmap": ["../credentials.php"] 
    } 
} 

credentials.php:

define('RYAN','BRODIE'); 

test.php:

require_once __DIR__.'/../vendor/autoload.php'; 
echo RYAN; 

Ergebnisse in Notice: Use of undefined constant RYAN. Wenn der Autoloader von Composer nur für Class-Includes gedacht ist, wäre ich dankbar für alle Hacks (sozusagen), damit das funktioniert.

+0

-Klasse verwenden Konstanten eher als globale Konstanten wäre eine Option –

Antwort

12

Diese Methode sollte gut funktionieren, aber Sie müssen files statt classmap zum Beispiel verwenden;

{ 
    "autoload": { 
     "files": [ "../constants.php" ] 
    } 
} 
+0

Ehrfürchtig eine Behandlung gearbeitet hat, wird akzeptiert, wenn ich kann, dank Tom :) Nicht sicher, wie ich das später –

+1

2,5 Jahre in der Dokumentation vermisste ich zu akzeptieren erinnern ! –