Originariamente inviato da oly1982
Sto studiando e ho anche io questo dubbio... ora provo ad esprimere quello che ho capito (ma di cui nn sono per nulla convinto!!! )... aspettanto che gli esperti mi chiarifichino le idee anche a me.

include, require, die, exit, define, echo, etc. etc. sono dei costrutti (non delle funzioni ... come indicato sulla guida di html.it!!)

infatti non si può scrivere:

$result = include("file.php");

in pratica i costrutti non danno un output ma eseguono un'azione (un comando elementare)... per tanto il costrutto include non darà alcun risultato... nemmeno un risultato boleanno (TRUE/FALSE)!
Specificatamente include se trove il file lo include... altrimenti darà un warning (NON FALSE!!)

L'utilizzo del costrutto die/exit scritto nella sintassi funzione() or die (); determina che qualora la funzione() darà come risultate FALSE si ha l'interruzione del flusso dello script...
ma include non è una funzione ovvero non dà un risultato boleano


bravo, l'approccio è giusto!
studiare e confrontarsi con gli altri

include, come descritto anche nella documentazione ufficiale, produce SEMPRE un risultato, che può dipendere da un return finale nel file incluso o sull' effettiva buona riuscito dell' inclusione.

riportando l'esempio ufficiale
Codice PHP:
return.php
<?php

$var 
'PHP';

return 
$var;

?>

noreturn.php
<?php

$var 
'PHP';

?>

testreturns.php
<?php

$foo 
= include 'return.php';

echo 
$foo// prints 'PHP'

$bar = include 'noreturn.php';

echo 
$bar// prints 1

?>
che è molto più chiaro delle mie parole aggiungerei anche che è possibile effettuare u n controllo di questo tipo :

Codice PHP:
<?php 
if(!@include('geronimo.php')) 
    die(
'file non trovato!!');
 
?>
in sintesi: la @ evita qualsiasi tipo di errore in output (in questo caso il warning sollevato dall' inesistenza del file geronimo.php, e l'if controlla quindi se l'inclusione mi restituisce TRUE o FALSE (TRUE=file regolarmente incluso e FALSE = inclusione fallita)

QUESTO OVVIAMENTE SE GERONIMO NON HA NESSUN RETURN, VICEVERSA OTTERREI LA VARIABILE RESTITUITA E CONTROLLEREI A QUESTO PUNTO IL SUO VALORE, NON L'INCLUSIONE DEL FILE