Accueil > Forum > > > > A quand la surdéfinition de méthode d'une classe PHP 5
A quand la surdéfinition de méthode d'une classe PHP 5
samedi 25 mars 2006 à 23:24:18 |
A quand la surdéfinition de méthode d'une classe PHP 5

Nifhell
|
Bonjou à tous, Je souhaiterais savoir s'il est possible comme en C++ de surdéfinir le constructeur d'une classe en PHP? D'apés mes essais de code, apparement non (j'ai toujours cette @[\^\#^`~\`!..ain d'erreur: Fatal error: Cannot redeclare... ) , mais peut être que dans de futur release de php5 cele sera possible (et je parle pas des bidouillages discutés dans ce forum; qui d'ailleurs confondent "surcharge" et "surdéfinition" d'une méthode.... http://www.phpcs.com/infomsg/SURCHARGE-METHODES-14_680116.aspx, http://www.phpcs.com/infomsg/OBJET-PHP5-SURDEFINITION-FONCTIONS-29_672301.aspx) Qui a des infos? Apparemment les moyens actuels proposés pour simuler une surdéfinition: - C'est de faire un test sur le nombre d'argument passé au constructeur... oui mais si on fait des constructeurs avec des paramètres optionels?? - D'autre utilise la surcharge (et il s'agit là bien de surcharge) des constructeurs des parents de la classe, mais ça veut dire qu'il faut faire autant d'héritage que de constructeurs désirés... pas pratique... A quand un vrai language orienté objet en PHP? ==oOo__{NiFhElL}__oOo== Si parfois des gens paraisse brillant avant d'avoir l'air con c parce que la lumière va plus vite que le son....
|
|
dimanche 26 mars 2006 à 10:13:49 |
Re : A quand la surdéfinition de méthode d'une classe PHP 5

Anthomicro
|
Réponse acceptée !
Salut, non ça n'existe pas encore (peut-être pour PHP6 ?) cependant la méthode de Malalam, bien qu'un peu lourde (mais c'est la seule "vraie" possibilité vu qu'on peut pas faire autrement) m'a l'air pas mal du tout ;-) a +
|
|
dimanche 26 mars 2006 à 10:26:23 |
Re : A quand la surdéfinition de méthode d'une classe PHP 5

FhX
|
Réponse acceptée !
Via la doc de php.net :
Even PHP 5 doesn't allow to redeclare a method in a class. So, it's
impossible to create differents constructors to a object with unique
parameters, something common JAVA.
Aucune redéclaration de méthode possible dans une classe à l'heure actuelle.
Si tu veux faire un truc dans le genre, il te faut utiliser func_get_args() pour pouvoir gérer un appel dynamique de ta méthode.
http://fr.php.net/manual/fr/language.oop5.decon.php#53838
|
|
dimanche 26 mars 2006 à 10:40:41 |
Re : A quand la surdéfinition de méthode d'une classe PHP 5

Anthomicro
|
Réponse acceptée !
C'est ce que fait Malalam dans les liens qu'a passé Nifhell :-)
|
|
lundi 27 mars 2006 à 10:03:11 |
Re : A quand la surdéfinition de méthode d'une classe PHP 5

malalam
|
Réponse acceptée !
Hello,
l'objet n'était pas, à la base, une priorité de php. Ce qui est logique, PHP étant au départ destiné à n'être qu'un langage de script. Aux débuts de php, on avait pas les besoins que l'on peut aujourd'hui avoir, la technologie web n'étant pas, à l'époque, très développée. PHP se transforme peu à peu en véritable langage orienté objet...mais bon, il faut se montrer patient :-) N'oublions pas que PHP se doit de rester PHP...les développeurs ne peuvent pas se permettre d'en faire un langage totalement nouveau, et doivent conserver un minimum de compatibilité ascendante.
Donc, ce sont bel et bien les deux seules méthodes possibles à l'heure actuelle.
Pour ta 1ère remarque, il suffit d'ajouter les tests qui vont bien dans tes surdéfinitions. Ca reste du bidouillage, mais c'est toujours mieux que rien.
|
|
lundi 27 mars 2006 à 18:43:46 |
Re : A quand la surdéfinition de méthode d'une classe PHP 5

Anthomicro
|
Réponse acceptée !
"N'oublions pas que PHP se doit de rester PHP" C'est mal parti, c'est comme les voitures : de plus en plus lourdes et de moins en moins performantes... lol
|
|
lundi 27 mars 2006 à 21:49:01 |
Re : A quand la surdéfinition de méthode d'une classe PHP 5

Nifhell
|
Réponse acceptée !
C'est vrai, mais regarde ce qu'est devenu le PERL (v5) aujourd'hui... c'est vrai qu'il présente quelques aberrations (ça s'écrit comme ça?) par rapport à un vrai langage objet (comme de systématiquement terminer ses packages par "1;", sinon y a une erreur LOL), mais ça marche et réussi à être orienté objet tout en gardant sa nature et sa facilité de programmation de langage "script". Je l'utilise souvent pour parser des logs, ou des CSV, et cela comme le ferai un script que je met en crontab mais en POO :p Bon je ne sais pas si le PERL permet la surdéfinition lui aussi (je n'ai jamais eu besoin d'aller aussi loin), mais bon j'attends quand même bien plus du PHP, qui avec Zend (notemment avec l'intégration des web services), pousse à devenir enfin un langage de production de service "entreprise" et non plus un langage de "page perso" cantonné dans son coin.
Bref, bien, même trés bien PHP5, mais peut encore mieux faire...
==oOo__{NiFhElL}__oOo==
Si parfois des gens paraisse brillant avant d'avoir l'air con c parce que la lumière va plus vite que le son....
|
|
Cette discussion est classée dans : php, classe, méthode, surcharge, surdéfinition
Répondre à ce message
Sujets en rapport avec ce message
probleme de classe en php [ par Elkaire ]
Donc voila mon probleme!!dans une premiere page je rensegne les insances de mon objet. Une fois renseigné je peux réutiliser les instances cet objet d
Pb avec classe en php, Affichage [ par matou82 ]
Je voudrais savoir comment surcharger l'affichage d' echo ou print pour une classePour avoir:$obj = new Maclass;echo $obj;Cela affiche : "Object" Je s
setInterval de Java en php?? Comme un Timer?? [ par Blondy ]
Je cherche une méthode qui fera comme la méthode setInterval en Java mais en php. C'est à dire qui appellera une méthode à tous les x temps... C'est p
php, classe COM et excel [ par Faboun ]
bonjour,Voici mon problème j'vais développé un script qui a partir dune bd mysql me permettait de générer un fichier xls, puis de l enregistrer sur mo
classe PHP pour accés BDD [ par cuicui ]
Bonjour,Je recherche des classes en PHP qui perùet d'acceder à des des bases de données tel que INTERBASE ou MySQL.Merci à touscuicui...
Réccupérer variables POST pour Include [ par khyor ]
Bonjour,Pour l'administration de mon site, j'ai réuni dans un même fichier (admin.php), les différentes actions (ajouter, modifier, supprimer un utili
AIDE - Classe en php 5 [ par el_pecheur ]
J'ai besoin d'un gros coup de main ... J'ai trouver un logiciel http://uml2php5.zpmag.com/windows.php qui permet de donner le code d'une classe en ph
classes et sessions [ par davwart ]
Hello all,là je desespere..voial j'ai deux fichiers.fichier1: classe.inc.phpclass User{}?>fichier2: index.phpinclude("classe.inc.php")session_start();
PHP - classe [ par missceline33 ]
Bonjour à tous, j'ai un problème avec mes classes PHP. Je voudrais définir plusieurs constructeurs à ma classe mais quand je rajoute un constructeur i
PHP classe constructeur [ par missceline33 ]
Bonjour à tous, j'ai un problème avec mes classes PHP. Je voudrais définir plusieurs constructeurs à ma classe mais quand je rajoute un constructeur i
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|