2013-06-18 11 views
24

Sto provando a "includere" uno script php in una delle mie viste (landing.blade.php).Inclusione di file PHP con framework Laravel

Lo script è in:

/laravel-master/public/assets/scripts/config.php 

Quando provo a inserire questo codice nella visualizzazione:

<?php include_once('/assets/scripts/config.php'); ?> 

ottengo l'errore: include_once(/assets/scripts/config.php): failed to open stream: No such file or directory

Questo è su localhost usando MAMP . Non sono sicuro che ci sia un diverso set di regole che devo usare con Laravel 4 per includere un file php. Grazie per l'aiuto!

+0

'/ assets/scripts/config.php' significa che si trova nella directory principale del sistema operativo. Utilizzare un percorso assoluto o cambiarlo in relativo. – djthoms

+0

Potresti esporlo? Come sarebbe il percorso relativo? ../assets/scripts/config.php? – user1072337

+0

Spesso si verifica questo errore e per risolverlo rapidamente, attenersi alla seguente procedura: stackoverflow.com/a/36577021/2873507 –

risposta

38

Innanzitutto, non è consigliabile mantenere i file PHP nella directory public, devono essere conservati nella cartella app. Ti suggerisco di creare una cartella all'interno di app, qualcosa come includes e mettere lì i tuoi file. Poi, si include, vero:

include(app_path().'/includes/config.php'); 

Anche se, dal momento che sembra che si sta cercando di caricare alcuni file di configurazione, vi consiglio di controllare anche fuori proprio modo di gestire le configurazioni di laravel. Per esempio, se è stato creato un file all'interno della cartella myapp.phpapp/config, laravel sarebbe gestire automaticamente per voi, a patto che si avrebbe alcune coppie chiave-valore, come questo:

<?php 

return array(
    'name'  => 'Raphael', 
    'gorgeous' => true 
); 

È quindi possibile recuperare questi valori utilizzando la classe Config:

Config::get('myapp.name'); // Raphael 

si tratta di una soluzione migliore, perché si può inoltre usufruire di laravel di .

+0

Sto tentando di caricare questo file di configurazione per un accesso di Facebook. Contiene appID, segreto, ecc ... Cambia la tua risposta? – user1072337

+0

Bene, se non puoi cambiare il codice che userà il file di configurazione, renderà invalido l''uso delle routin di configurazione di Laravel', ma il resto continua a contare. – rmobis

+0

Dove inserisco: $ app = app(); include ($ app ['path.app']. '/ Includes/config.php'); a mio avviso? – user1072337

Problemi correlati