Vous pouvez tester aussi PHP 5.3 qui implémente les ajouts de syntaxe de PHP6. J'ai pu tester les namespace, j'ai trouvé ça pas terrible finalement (ou alors je les ai mal utilisé). Mais je ne vois pas de différence dans l'écriture entre
MyProject::User::login() ou
Myproject_user::Login() c'est toujours aussi lourd à écrire
Pour le ifsetor() voilà davantage d'informations :
http://wiki.php.net/rfc/ifsetor
Après pour l'histoire des goto / label, pour moi cette syntaxe appartient aux codes de la préhistoire informatique. J'en ai jamais eu besoin en PHP, et jamais je me suis dis "ah si seulement on avait des goto". Si on évolue vers l'objet c'est pas pour retomber dans les codes labyrinthes d'avant :/
Sinon pour la question initiale, l'avantage du
return() c'est qu'on sort directement de la fonction. A appeler donc dans le cas où on ne souhaite pas exécuter le code suivant le
while(). Alors que le
break permet au code suivant la boucle d'être exécuté
