2015-12-14 24 views
9

Nel mio file .env ho il seguente:Ottenere valore di ambiente nel controllo

IMAP_HOSTNAME_TEST=imap.gmail.com 
[email protected] 
IMAP_PASSWORD_TEST=mypw 

Ora vorrei usarli in mio controller. Ho provato questo, ma senza alcun risultato: variabile hostname

$hostname = config('IMAP_HOSTNAME_TEST'); 

Il $ è uguale a null. Come posso usare queste variabili di configurazione nel mio controller?

+1

Possibile duplicato di [Lara vel 4: come posso ottenere il valore dell'ambiente?] (http://stackoverflow.com/questions/14935846/laravel-4-how-can-i-get-the-environment-value) –

risposta

18

provare con

<?php $hostname = env("IMAP_HOSTNAME_TEST", "somedefaultvalue"); ?> 
+0

'somedefaultvalue' può essere qualsiasi valore predefinito nel caso in cui 'env' non esiste. –

5

Tutte le variabili elencate nel file .env verranno caricate nel super-global $_ENV PHP quando l'applicazione riceve una richiesta. Checkout laravel configuration page

$_ENV['yourkeyhere']; 
-2

può non essere correlato, ma potrebbe aiutare qualcuno .... in laravel appena dd (config ('app.env')); e vedrete 'locale' o 'produzione'

0

È possibile utilizzare con questo formato, (testato su laravel 5.5) nel mio caso ho usato per ottenere i dati di connessioni al database e utilizzare il controller:

$User = env('DB_USERNAMEchild',''); 
$Pass = env('DB_PASSWORDchild',''); 

Il secondo parametro può essere nullo oppure impostare qualsiasi valore predefinito in caso di DB_USERNAMEchild è nullo.

si .env file può essere lo stesso:

DB_HOST=localhost 
DB_DATABASE=FATHERBD 
DB_USERNAME=root 
DB_PASSWORD=password 

DB_DATABASEchild=ZTEST 
DB_USERNAMEchild=root 
DB_PASSWORDchild=passwordofchild 
1

InController

$hostname = $_ENV['IMAP_HOSTNAME_TEST']; (or) $hostname = env('IMAP_HOSTNAME_TEST'); 

In blade.view

{{$_ENV['IMAP_HOSTNAME_TEST']}} 
-1

non funziona in laravel 5.3+, se si vuole cercare di accedere al valore dal controllore come qui di seguito, restituisce sempre null

<?php 

$value=env('MY_VALUE','default_value'); 

SOLUZIONE: Piuttosto è necessario creare un file di configurazione in cartella ..say values.php e poi scrivere i codici come sotto

valori.php

<?php 

return [ 

    'myvalue' => env('MY_VALUE',null), 

    //add other values as you want 

] 

Poi accedere al valore nel controller con il seguente codice

<?php 


$value=\Config::get('credentials.myvalue') 

Dove "credenziali" è il nome del file seguito dal tasto "MyValue" spero che aiuta