2013-07-01 19 views
5

私は、モジュール依存関係管理のためにComposerを使用しています(たくさんのincludeとrequireの代わりにautoload.phpを使用しています!Composerを使用してPHP Defines()を組み込みます。

資格がdefines()に保存されている(セキュリティのために)ルートComposerディレクトリの外にあるPHPファイルを含める必要があります。

これが動作していない、composer.json

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

credentials.php

define('RYAN','BRODIE'); 

test.phpを

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

結果はNotice: Use of undefined constant RYANになります。 ComposerのオートローダーがClassを対象としているだけの場合は、この作業を行うためのハック(ありがとう)に感謝します。

+0

御馳走を働いた一つの選択肢 –

答えて

12

この方法はうまくいくはずですが、たとえばclassmapの代わりにfilesを使用する必要があります。

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

素晴らしいだろうグローバル定数ではなくクラス定数を使用して、受け入れるとき、私ができる、感謝トム:)私は受け入れることを覚えて –

+1

2.5年後のドキュメントでこれを逃したかわかりません! –

関連する問題