2014-10-08 13 views
6

So già che include_once restituisce true o false in base all'inserimento di tale file. Ho letto a question on Stackoverflow about using require_once per restituire il valore e stamparlo.Perché non riesco a ottenere il valore restituito della funzione require_once in PHP?

Il problema è che ho un progetto esistente in mano e all'interno di quel file restituiscono un array. C'è qualche

$ret = require_once $this->app->config('eshopBaseDir')."fax/archive.php"; 
print_r($ret); 

Is: Voglio ottenere l'output di require_once per vedere che cosa risultato che ho, ma ho 1 invece di array che contiene i dati:

return array('data'=>$result_data,'error'=>null); 

Quello che faccio è soluzione per questo?

+1

Avrai bisogno di eseguire i propri test, ma di ritorno da una bisogno è un così marginale caratteristica che non mi sorprende se non supporta il ritorno di array. Ma non temere, basta attaccare la matrice in una variabile globale e recuperarla dopo averla richiesta. La mancanza di modularità di PHP è a tuo vantaggio in questo caso. – alexis

+0

@alexis, funziona usando GLOBAL. tnx – ALH

+0

@JohnConde Che non è corretto – Steve

risposta

10

Ciò indica che il file è già stato incluso in quel punto.

require_once restituirà true booleano se il file è già stato incluso.

Per controllare è possibile modificare a richiedono semplicemente:

$ret = require $this->app->config('eshopBaseDir')."fax/archive.php"; 
print_r($ret); 

Come semplice prova:

//test.php 

return array('this'=>'works the first time'); 

//index.php 

$ret = require_once 'test.php'; 
var_dump($ret);//array 
$ret2 = require_once 'test.php'; 
var_dump($ret2);//bool true