2016-04-12 16 views
3

Bir middleware betiğinin içinden .env vals'e erişmenin herhangi bir yolu var mı?laravel/lumen access .env değerleri, middleware'de

Bunu env ('KEY') ile yapmaya çalıştım ama bu çoğu zaman boşa dönüyor gibi görünüyor.

Bunu, ara yazılımın içinde yapmak için daha iyi bir yol biliyor muydunuz veya .env dosyasının güvenliğini sağlamanın bir yolu, ara katman yazılımı çalıştırılmadan önce yüklenmiştir?

+0

Mine iyi çalışıyor. Middleware'de 'env 'olarak nasıl adlandırılır? 'Env' dosyasını doğru şekilde ayarladınız mı? – Alfa

cevap

4

.env değişkenlerine erişmek için config() kullanabilirsiniz. Eğer MySQL portunu almak istiyorsanız Örneğin, bu kullanın:

$mysqlPort = config()['database']['connections']['mysql']['port']; 

mevcut tüm değişkenler elde etmek için, .env özel değişkenler kullanmak istiyorsanız dd(config());

yapabilirsiniz, ayrıca bunu yapabilirsiniz :

CUSTOM=hello 

Ve bu değişkeni olsun env() yardımcı kullanmak:

echo env('CUSTOM'); // Will output 'hello' 
+0

Teşekkürler Alexey ama bu aslında çalışmıyor. Döndürülmüş olan özel değişkenlerim içermiyor. – Aaron

+0

Özel varlamayı '.env' içine koymak ve ardından uygulama kodunuzda almak ister misiniz? Lütfen güncellenmiş cevaba bakın. –

+0

Evet ve bu çalışır, ancak ara yazılımın içinde değil. Zamanın yaklaşık% 90'ı, ara yazılımın içinde boş form olacaktır. – Aaron