Newsgroup: it.comp.www.php
Titolo: exit e break

Che differenza c'è tra il break e l'exit in php?
Ad esempio il break di uno switch interrompe l'elaborazione dello switch ma 
prosegue, se non sbaglio, il codice dopo lo switch, mentre l'exit interrompe 
l'elaborazione dello script per intero?
ciao Qua. 


per interrompere completamente lo script io uso
die(" messaggio ...");
exit dovrebbe ssere equivalente a die


Sì, hai indovinato :-)

 Sě, hai indovinato :-)
Bene, allora oggi vado a giocare al superenalotto .-)
ciao Q.

 exit dovrebbe ssere equivalente a die
Non conosco die... come sarebbe il discorso del messaggio? Tu dai die ed il 
messaggio tra parentesi viene visualizzato a video?
ciao Q. 

 ed il messaggio tra parentesi viene visualizzato a video?
Ti consiglio di iniziare leggendo il manuale ufficiale:
http://www.php.net/die
http://www.php.net/exit
http://www.php.net/break
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 
http://www.php.net/break
Ok...ho letto, die ed exit sono gli stessi e non sapevo che si potesse 
passare loro un parametro, io ho sempre usato exit; senza parametri. 
Comunque non capisco perché può essere usato nel mio modo oppure a mò di 
funzione exit(). E' o non è una funzione???
Ciao Q. 

 oppure a mr di funzione exit(). E' o non h una funzione???
Che intendi per "usato nel mio modo"?
In PHP e' possibile definire i parametri delle funzioni anche come
opzionali.


 opzionali.
Si, ma se si tratta di una funzione perché può essere usato senza le 
parentesi tonde? Una funzione senza parametri ha le parentesi tonde vuote...
ciao Q. 

 vuote...
http://www.php.net/exit
 non e' una semplice funzione, e' un costrutto
del linguaggio, per questo motivo puo' essere richiamato senza
parentesi.


 parentesi.
Lo avevo già letto, ma non è che sia molto chiaro il concetto. Esiste exit 
come elemento di sintassi paragonabile ad if, else ecc.. e exit() come 
funzione?
Voglio un libro...
Quasimodo 

 Quasimodo
Hai letto il link?
C'è scritto chiaramente che è un COSTRUTTO.

 C'č scritto chiaramente che č un COSTRUTTO.
Sě, ed io continuo a non capire. Costrutto riguarda una struttura 
sintattica. Cosa diamine c'entra con un exit messo lě da solo?
E cosa č exit() ? Non č forse una funzione?
Quasimodo 

 Quasimodo
rileggendo zend_language_parser.y ..
direi che exit e' un costrutto del linguaggio che si comporta come una 
funzione.. ma non proprio.. di fatto, come puoi vedere dal codice sotto, 
puo' accetare di essere chiamata senza parentesi, puoi specificare zero 
od un argomento al massimo e non ritorna alcun valore.. di fatto se la 
chiami con 2 argomenti *dovresti* ottenere un parse error e non un 
undefined function call error.. ma *dovresti* fare qualche prova..
expr_without_variable:
...
| T_EXIT exit_expr { ... }
... ;
exit_expr:
  /* empty */  { ... }
| '(' ')'      { ... }
| '(' expr ')' { ... };
expr:
  r_variable            { ... }
| expr_without_variable	{ ... };
r_variable:
variable { ... };
-- 
http://www.iuz-lab.info
 
http://www.php-faq.org

 cosa h exit() ? Non h forse una funzione?
Alcuni costrutti di linguaggio, in quanto tali, possono essere
richiamati/utilizzati con diverse sintassi, exit e' uno di questi.
<pre>
<?php 
echo "Hello World\r\n";
echo("Hello World\r\n");
print "Hello World\r\n";
print("Hello World\r\n");
for ($i = 0; $i < 1; $i++) {
	break;
}
for ($i = 0; $i < 1; $i++) {
	break 1;
}
for ($j = 0; $j < 1; $j++) {
	break(1);
}
/*
include 'vars.php';
include('vars.php');
*/
/*
exit("Hello World!\r\n");
exit;
*/
?>
</pre>
Il fatto che exit possa essere richiamato con la sintassi
exit("Value"); non lo trasforma in una funzione, resta comunque un
costrutto del linguaggio.
