2013-07-01 23 views
5

'u kullanarak PHP Tanımları() dahil olmak üzere Modül bağımlılık yönetimi için Composer kullanıyorum (autoload.php kullanarak bir ton içerir ve gerektirir!).Composer

Kök Oluşturucu dizini (güvenlik için) dışındaki bir PHP dosyasını defines()'da saklanan kimlik bilgileriyle eklemek istiyorum.

Bu işe yaramıyor, composer.json:

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

credentials.php:

define('RYAN','BRODIE'); 

test.php:

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

Sonuçlar Notice: Use of undefined constant RYAN. Composer'ın otomatik yükleyici sadece Sınıf için tasarlanmışsa, o zaman bu işi yapmak için herhangi bir hack için minnettar olurdum.

+0

bir tedavi çalıştı seçeneklerden biri –

cevap

12

Bu yöntem düzgün çalışmalıdır, ancak classmap yerine files'u kullanmanız gerekir;

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

Müthiş olurdu küresel sabitleri yerine sınıf sabitlerini kullanarak, kabul eder ne zaman olabilir, teşekkürler Tom :) Bunun kabul unutmayın –

+1

2.5 yıl sonra docs bu cevapsız nasıl emin olun ! –

İlgili konular