Cher journal,
on me demande parfois de résumer comment PHP utilise les objets et ce qu'il est possible de faire avec, et j'ai parfois du mal à être à la fois clair et exhaustif...
J'ai trouvé ça aujourd'hui :
http://www.unixgarden.com/index.php/web/le-nouveau-modele-ob(...)
et c'est clair et exhaustif... quoique la typo soit un peu bizarre...
L'article est très intéressant car il parle de :
* Classes, objets, héritage et polymorphisme
* Sérialisation et désérialisation
* nouveautés objets de PHP5 constructeurs et destructeurs
* Visibilité
* Statiques et constantes
* Classe abstraite et méthode abstraite
* Interfaces
* Itération
* Final
* Clonage et comparaison d'objets
* Exception
* Quand PHP rencontre Java
Cet article a par ailleurs été publié dans le hors série N°20 de Linux Magazine
# Polymorphisme
Posté par ethtezahl . Évalué à 1.
Le polymorphisme est le fait de pouvoir utiliser une même méthode sur des objets complètement différents et sans nécessairement connaître de quel type d’objet il s’agit.
Le principe du polymorphisme n'est pas au contraire de pouvoir écrire plusieurs méthodes portant le même nom dans une même classe, mais acceptant des paramètres différents?
[^] # Re: Polymorphisme
Posté par windu.2b . Évalué à 10.
[^] # Re: Polymorphisme
Posté par mota (site web personnel) . Évalué à -1.
En c++, cette definition porterait plutot le nom de programmation generique (via les templates), bien que le sous-typage permette aussi cette particularite, mais enleverait tout le benefice d'un code generique (puisque redefinition de la methode pour chaque type, ou alors gros bazar avec des (void *) mais bon, a eviter tant que possible).
[^] # Re: Polymorphisme
Posté par Feeks . Évalué à 10.
Le polymorphisme, dans sa définition la plus courante en tout cas, consiste simplement à spécialiser un type en sous-types, ce qui implique des caractéristiques communes entre les sous-types.
Concrètement, cela permet d'appeler l'action "démarrer" sur toute une collection de voitures, peu importe que ce soit des 4x4, des monospaces ou des berlines. D'où la généricité du code produit par la suite.
[^] # Re: Polymorphisme
Posté par benja . Évalué à 1.
[^] # Re: Polymorphisme
Posté par Bastes . Évalué à 6.
[^] # Re: Polymorphisme
Posté par zul (site web personnel) . Évalué à 1.
# Hum...
Posté par Nicolas Blanco (site web personnel) . Évalué à -4.
[^] # Re: Hum...
Posté par santos . Évalué à 1.
[^] # Re: Hum...
Posté par windu.2b . Évalué à 6.
* Le (très) faible typage des méthodes (seulement les types complexes sont acceptés, pas les types simples).
* L'absence de typage pour le retour des méthodes.
[^] # Re: Hum...
Posté par santos . Évalué à 4.
[^] # Re: Hum...
Posté par astennu . Évalué à 5.
j'adore la surprise du chef : "ha tiens, on peut se ramasser cette exception avec cette méthode?"
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Hum...
Posté par windu.2b . Évalué à 4.
D'ailleurs, le fait que les possiblités que je cite n'existent pas dans le modèle objet sous-entendent aussi qu'elles n'existent pas plus dans le modèle procédural... Car les implémenter dans le second cas mais pas dans le premier serait fort surprenant !
[^] # Re: Hum...
Posté par mxt . Évalué à 1.
Il faut encore se taper des tests sur le retour des fonctions, j'aime bien PHP mais là c'est la honte.
[^] # Re: Hum...
Posté par santos . Évalué à 2.
C'est vrai que si d'un coup MySQL se mettait à lever des E_STRICT à chaque erreur, de nombreux sites codés avec les pieds poseraient des problèmes de compatibilité...
C'est ce qu'ils auraient dû faire dès le début.
[^] # Re: MySQL & Exceptions
Posté par Benjamin (site web personnel) . Évalué à 2.
Je préfère de loin cela à une modification de l'API de php qui rendrait incompatible 99% des applis un peu vieillottes ;)
[^] # Re: MySQL & Exceptions
Posté par totof2000 . Évalué à 3.
# qq années de retard ...
Posté par Mouns (site web personnel) . Évalué à 6.
Yet Another PHP5 Tutorial, pourquoi pas sur le web mais sortir ca en presse avec le mot "nouveauté" dans la table des matières décrédibilisera le magazine plus qu'autre chose.
cet article aurait été largement plus interessant si il comparait la couche objet de PHP6 ( dispo dans le CVS ) avec celle de la derniere release de PHP5.
[^] # Re: qq années de retard ...
Posté par jeffcom . Évalué à 2.
Je pense aussi que pas mal de "novices" utilisent le "style" d'objets de php4 même en php5 car ils ne comprennent pas ce qu'est un objet et/ou que ça leur semble plus simple... donc avant de comparer le modèle php5 et avec celui de php6, encore faut-il avoir une vision claire du modèle php5... ce que permet cet article.
Je pense enfin à ceux qui n'ont pas fait de php depuis php3/4 et qui sont restés avec l'idée reçue qu'on ne peux pas faire de programmation orientée objet de manière correcte en php.
Voilà pourquoi j'ai signalé cet article dans ce journal... mais en effet, la formulation du titre n'est pas super...
[^] # Re: qq années de retard ...
Posté par santos . Évalué à 3.
Bon on n'est pas non plus sur Clubic :)
Pour ma part en tous cas, la comparaison PHP5/PHP6 m'aurait intéressé.
Mais sinon cet article est excellent.
[^] # Re: qq années de retard ...
Posté par jeffcom . Évalué à 4.
Certes, m'enfin je ne compte plus celles et ceux qui tentent d'apprendre par eux mêmes (ou qui sont simplement intéressés) et qui ne comprennent pas grand chose à l'objet... (cf commentaires précédents sur les notions de polymorphisme)¹
Comme quoi...
¹ et c'est normal de ne pas comprendre du premier coup, surtout si on apprend par soi même... rien de dédaigneux dans mes propos
# tu devrais demander à Frédéric Lefebvre
Posté par palm123 (site web personnel) . Évalué à 0.
Il m'a expliqué le Web 2.0, je l'en remercie
http://www.nowhereelse.fr/frederic-lefebvre-web-2-0-14550/
ウィズコロナ
[^] # place aux experts
Posté par palm123 (site web personnel) . Évalué à 2.
Il a l'air de connaître aussi bien son sujet que le nouveau président de l'Arcep, qui a eu récemment des cours particuliers de télécomms, donnés bénévolement par Lombard, le PDG de France Telecom. Le pauvre vient de l'Ena et ce n'est pas son domaine.
S'il est bien élevé, il fera un renvoi d'ascenseur, ou au moins, demandera son avis à Lombard avant de prendre une décision.
ウィズコロナ
[^] # Re: place aux experts
Posté par Bastes . Évalué à 3.
http://www.marianne2.fr/Frederic-Lefebvre-violeurs,-drogues,(...)
[^] # Re: place aux experts
Posté par palm123 (site web personnel) . Évalué à 4.
Source: le dernier Canard
ウィズコロナ
[^] # Re: place aux experts
Posté par Bastes . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.