begin process at 2012 05 31 13:15:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Class et Objet ( POO )

 > 

A quand la surdéfinition de méthode d'une classe PHP 5


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

      Administrateur CodeS-SourceS
      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


        Nos sponsors


        Sondage...

        Comparez les prix

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
        CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
        CodeS-SourceS.com© est une marque déposée tous droits réservés

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 1,638 sec (3)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales