2012-12-29 9 views
5

ho letto un post here che la persona che ha scritto una dichiarazione come:PHP Dichiarazione Spiegazione

$this->_connection = require_once 'config.php'; 

    // $this->connection is an array variable. 

lo trovo un po 'difficile da capire. Mi sto chiedendo come puoi assegnare un file incluso a una variabile.

Significa che un array deve essere restituito dal file "config.php"? Voglio dire "config.php" dovrebbe restituire un array?

Questa affermazione è valida nelle applicazioni commerciali di php?

Grazie.

+0

Tutto va in applicazioni PHP "commerciali". Quello che vuoi veramente sapere è se è buono in un'applicazione PHP "ben progettata". (In tal caso lo eviterei, sebbene non sia necessariamente negativo.) –

+0

Sì, un valore deve essere restituito in config.php - in realtà è molto utile occasionalmente. Ho il sospetto che avresti bisogno di racchiudere il percorso tra parentesi anche se (o, almeno, sembra più chiaro se lo fai). Mi sembra di ricordare che Propel usa questo approccio. – halfer

+0

VOGLIO RINGRAZIARE TUTTI I VOSTRI RAGAZZI PER LE VOSTRE RISPOSTE –

risposta

7

Il file incluso può avere un'istruzione return al di fuori di qualsiasi funzione. Se ciò accade, lo script interrompe l'esecuzione del file incluso e il "valore restituito" della chiamata require_once è il valore dell'istruzione return.

Docs

+2

Non lo sapevo, lo trovo del tutto orribile, ma buono a sapersi. +1 –

+1

@DanielFigueroa Lo uso spesso nelle applicazioni della console, in realtà è piuttosto utile per lo sviluppo, dal momento che è possibile modificare un file e quindi modificare il comportamento della "funzione" senza dover uscire e riavviare il programma. –

+0

Non ci ho pensato, sono due cose che mi hai imparato oggi. Grazie! –