Traits (ou l'héritage horizontal)

ViPHP
ViPHP | 4674 Messages

25 févr. 2009, 15:55

Un goto, c'est la kata … … huhu, bon il faudrait aussi le mettre en strophe pour être dans le style, mais bon …

C'est où la sortie ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

25 févr. 2009, 18:27

J'ai bien évidemment immédiatement posté un commentaire dans la doc PHP, résumé : "please, dont use it :)"
Je ne sais pas si le commentaire sera accepté x]

Mammouth du PHP | 1668 Messages

25 févr. 2009, 18:32

Y a un truc que je comprend pas, c'est : à quoi ça sert, car, pour sauter une partie du code inconditionnellement moi j'utilise les commentaires multi-lignes...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 4674 Messages

25 févr. 2009, 18:51

Bah c'est un goto quoi, y a pas à tergiverser pendant des heures, c'est largement utilisé dans beaucoup de langage et c'est même très vieux comme façon de procéder (on saute d'une zone mémoire à une autre).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 1668 Messages

25 févr. 2009, 20:13

ça date de 1970, selon wikipédia, et ça servait à simuler les boucles et à simuler les conditions ou un truc comme ça...
Y a des vieux dans ZendEngine ou quoi ? :lol:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 4039 Messages

25 févr. 2009, 21:06

Pour ma part, j'avais une calculette qui utilisait un basic basique, avec des goto. Et quelques structures dans autohotkey s'apparentent à goto.

En gros, imagine comment tu pourrais écrire un code sans fonctions, sans objets, ou tout se suit. Il te faudrait un moyen de sauter certains bouts, revenir à d'autres, bref, un spaghetti. C'est un peu ça, le goto.

Tu peux toujours l'utiliser dans tes programmes, mais ne t'étonne pas si un raptor vient de bouffer la figure.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 4674 Messages

25 févr. 2009, 21:28

Berze++;

Pour comprendre les goto, je pense qu'il faut remonter aux cartes perforées. En effet, on avait une tête de lecture qui lisait : trou ou pas trou. Si on avait une instruction goto, elle se déplaçait en avant ou en arrière sur la bande (au lieu de gauche à droite pour lire une ligne). Donc oui, on émule des boucles avec ça, mais l'utilité dans PHP …
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Mammouth du PHP | 1668 Messages

26 févr. 2009, 08:15

Non : ++Benze;

C'est ça qu'on appel de la programmation séquentielle ? ou procédurière ?
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 4039 Messages

26 févr. 2009, 11:52

C'est la programmation structurée qui à mis fin au Goto.

http://fr.wikipedia.org/wiki/Programmat ... tur%C3%A9e

(la version anglaise est comme souvent bien plus complète
http://en.wikipedia.org/wiki/Structured_programming )
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 21 Messages

27 févr. 2009, 01:20

implémenter l'héritage multiple et quelque chose d'intéressant! Mais ce ne n'est pas ce que l'on attend de plus urgent dans PHP, comme un meilleur modèle objet, renommer certaines fonctions aux noms douteux et aux paramètres mal placés.

En gros il faut avoir une base solide avant tout!

Laurent

ViPHP
ViPHP | 4674 Messages

27 févr. 2009, 04:56

Ne t'en fait pas, ils y travaillent :-). On est typiquement dans le laboratoire PHP, dans le truc bien expérimental, et en aucun cas dans l'avenir assuré de PHP ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

27 févr. 2009, 08:49

Je ne serais pas aussi sûr du fait qu'ils travaillent à assurer une base fiable et robuste dans le sens où l'entend cbalmefrezol. L'ordre des paramètres et les noms hétérogènes (des fois underscore, des fois non) ne seront pas corrigés dans PHP6, et ce n'est pas prévu à moyen terme.
Par contre pour le "un meilleur modèle objet" là je ne vois pas bien ce que ça signifie (et en quoi les traits n'améliorent pas le modèle objet ;))

Eléphanteau du PHP | 21 Messages

27 févr. 2009, 22:09

Par contre pour le "un meilleur modèle objet" là je ne vois pas bien ce que ça signifie (et en quoi les traits n'améliorent pas le modèle objet Wink)
Il existe des faiblesses comme:
- Le polymorphisme, certes difficile à appliquer à cause du typage faible. Au moins par le nombre de paramètres.
- les Namespaces (mais bon c'est maintenant ok!)
- les Exception avec le Finally!
- Quelque chose qui m'énerve dans PHP c'est que toute erreur ne déclenche pas une exception comme en JAVA. Cela faciliterai le développement, la maintenance et éviterai d'afficher des messages d'erreur ignobles aux internautes!

enfin bon quand même PHP a fait de très gros effort qu'il faut féliciter, mais il faut continuer!

Laurent - Qui tient à pouvoir avoir plusieurs __construct() par classe

ViPHP
ViPHP | 4674 Messages

28 févr. 2009, 01:49

Polymorphisme : tu peux être plus clair ?
Espace de noms : oui, c'est tout bon (sauf \, mais bon, il fallait faire un choix :-)).
Exception avec finally : équivalent à terminer par un block catch en filtrant sur Exception (tu crois qu'ils font comment en Java ?) …
Pour les erreurs : voir set_error_handler() et set_exception_handler().
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 5924 Messages

28 févr. 2009, 02:07

Exception avec finally : équivalent à terminer par un block catch en filtrant sur Exception (tu crois qu'ils font comment en Java ?) …
Euh, non, le finally c'est pour avoir du code exécuté qu'il y ait une exception ou pas. Un catch sur Exception ne donne rien vu que s'il n'y a pas d'exception lancée, il n'y a pas d'exception lancée.
Justement en Java il y a le finally, c'est en C++ qu'il n'y est pas…