|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
J'ai conçu le début d'un petit objet très utile pour manipuler les base de données en SQL, il permet de générer des requêtes, renvoi les résultats et les paramètres sous forme de tableaux permettent une exportation / importation en variables de session très simple pour enregistrer les modifications. Dites moi ce que vous en pensez
Code :
Code :
|
||||
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Ha vi PDO :o je connaissai pas mais ce que je voulais surtout faire c'est une classe qui génére les requêtes elle même (PDO le fait mais sa à l'air plus complexe d'utilisation) simplement et avec l'utilisation des tableaux associatif cela permet d'exporter / importer simplement avec les variables de session pour la programmation. Pour changer de SGBD il faudrai refaire un objet identique (du moins les fonctions et paramètres) mais avec le code du SGBD pour les requêtes ce qui permetterai de ne rien modifier au sein du site. Dommage que PHP ne supporte encore pas la surcharge de fonction
|
|
|
00
|
|
|
#4 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Pour rappel, ce que tu souhaites faire porte un nom : c'est de l'ORM. Je te recommande de la lecture puisque le sujet t'intéresse, cela t'évitera de réinventer la roue ![]()
N'hésite pas à consulter le site (cf. ma signature) pour plus d'infos
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#5 |
![]() ![]() Julien PauliArchitecte de système d'information Inscription : mai 2006 Messages : 597 ![]() |
Le composant Zend_Db fait tout ca très bien.
La surcharge de méthode est supportée depuis PHP4 ( et est largement suportée et utilisée dans le modèle objet de PHP5, qui permet de monter des structures d'abstraction de haut niveau). |
|
00
|
|
|
#6 | ||
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Pour la surcharge, si je met ceci dans une classe :
Code :
Fatal error: Cannot redeclare FormMaker::test(). Pour moi la surcharge ne fonctionne pas la oO, ou tu parle d'autre chose ? Il me manque peut être un module ? |
||
|
|
00
|
|
|
#7 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
doctorrock te parlait de surcharge par héritage
PHP ne permet effectivement pas de surcharger comme tu le proposes, mais est-ce bien utile ? D'habitude cela oblige à dupliquer le code source, alors qu'avec des paramètres par défaut on obtient des résultats tout à fait honorables et bien souvent plus cohérents. C'est une autre manière de voir le design applicatif.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Ha la redéfinition des fonctions donc ^^ vi mais bon je n'ai pas vraiment besoin de faire de classe abstraite dans mon projet, cela dit pour mon autre projet de jeu sa risque d'être utile
|
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() |
Il suffirait de spécifier une valeur par défaut, non ?
Code :
|
||
|
|
00
|
|
|
#10 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
En plus de ce que propose Sub0, on peut passer plus de paramètres à une fonction (ou méthode) qu'elle n'en prévoit (hormis les fonctions internes qui sont généralement contrôlées à ce niveau). Pour les exploiter, on peut recourir aux fonctions func_get_arg, func_get_args, func_num_args ou encore, plus récent, avec la méthode magique __call.
Puisque vos classes sont développées en PHP 5, lever des exceptions ne serait-il pas moins expéditif qu'un appel à die ? |
|
|
00
|
|
|
#11 | ||
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Effectivement je ne connaissai pas cette nouvelle fonction __call qui m'a l'air très sympa
Exemple :p : Code :
|
||
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() |
Au passage, Merci pour les liens.
|
|
|
00
|
|
|
#13 | |||
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Citation:
__call est tres utile notamment dans les decorateurs.
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|||
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Foreach c'est pour ressortir tous les éléments d'un tableau un par un et les analyser dans une boucle, switch permet de changer le code à executer selon le nombre de paramètres ^^.
|
|
|
00
|
|
|
#15 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Au temps pour moins j'avais compris que le but était d'appeler n'importe quel $funcName (je venais de travailler un décorateur de classe d'où mon état d'esprit).
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#16 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Au temps pour moins j'avais compris que le but était d'appeler n'importe quel $funcName (je venais de travailler un décorateur de classe d'où mon état d'esprit).
Je ne pensais pas que le but était réélement d'utiliser __call pour voir les paramêtres de fonctions à un ou deux arguments.
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com