[PHP] Singleton PDO - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [PHP] Singleton PDO (/showthread.php?tid=5755) |
RE: singleton pdo php - niahoo - 18-10-2011 ben tu dis que tu veux savoir comment gérer ton accès à une base de données, ok , mais pourquoi faire ? tes objets et leurs relations modélisent quelque chose, des relations, des roles, etc.. tu peux modéliser une fabrique de chocolats avec une classe pour les lignes de fabrication, une pour un chocolat, une pour les boites de chocolats, etc. Tes objets sont censés représenter des objets réels ou imaginaires. Donc, expliques ce que tu cherches à faire et on pourra te dire par exemple si utiliser un singleton pour ta base de données comme dans l'exemple que tu donnes est une bonne idée ou non RE: singleton pdo php - php_addict - 19-10-2011 ok ok merci pour ta patience dans un premier temps j'ai fais 2 classes: - GestionArticles() - GestionsCategories() 2 classe pour la creation/gestion de categories/articles pour des pages d'aide (enregistrement en base de donnée) pour le moment pas d'objet réel style "Usine de chocolat" ou "Joueur" car je ne suis pas encore tout à fait à l'aise avec la notion d'objet tant elle me semble vaste... RE: singleton pdo php - Sephi-Chan - 19-10-2011 Justement, le problème c'est que des classes GestionArticles ou autre n'ont pas vraiment de sens, alors qu'une classe Article en a déjà plus. Tu pourrais alors la manipuler comme ça :
RE: [PHP] Singleton PDO - php_addict - 19-10-2011 je comprends mais j'ai besoin de ces méthodes: Code : liste() renvois la liste de tout les articles $Article->liste() n'aurait pas de sens non plus, à la rigueur $Articles->liste en aurait je comprends que l'on puisse faire un objet Article mais pourquoi est ce une mauvaise idée que de faire un objet abstrait GestionArticle, une sorte d'entité qui gère tout les articles ? J'ai l'impression qu'en OO on veut faire des objets en tant que plus petite entité possible. dans mon exemple je ne vais pas faire une classe Article et une autre ListeArticle, non ? si? RE: [PHP] Singleton PDO - niahoo - 19-10-2011 Article::listAll() me semble plus cohérent mais ça vaut pour une seule copie de ton application dans un script (puisque la config serait statique dans ce cas là) ou sinon $blog->listAllArticles() si tu ne veux pas travailler avec un seul objet global/statique Citation :J'ai l'impression qu'en OO on veut faire des objets en tant que plus petite entité possible. Oui, mais pas seulement : en OO pure, tout est objet, les petites comme les grosses entités, mais ce sont comme tu le dis des entités : un article, un gestionnaire d'articles, ayant chacun un métier et/ou un état. La gestion d'articles est par contre l'application du métier de l'un (le blog, le gestionnaire) sur l'état d'un autre (l'article, la collection d'articles, la catégorie). RE: [PHP] Singleton PDO - popayan - 19-10-2011 (19-10-2011, 09:31 AM)php_addict a écrit : je comprends mais j'ai besoin de ces méthodes: pour liste(), je ferais comme niahoo ($blog->listAllArticles()) pour ajouter_modifier(), une méthode save($params) pour details(), une méthode find($id) Une classe GestionArticle ne fait pas très objet dans le sens où, pour moi, les objets (classes) doivent correspondre à un objet métier : si ici, tu as un blog avec des articles qui appartiennent à des categories où tu peux laisser des commentaires, ca te donne un objet Blog, un objet Catégorie, un objet Commentaire, un objet User et un objet Article; ensuite tu as des liens entre ces objets: Blog a plusieurs Article, Article a une Catégorie et un User (le rédacteur), Article a aussi plusieurs Commentaire et Commentaire a un User. Dans ce que je t'ai décrit, ton objet GestionArticle n'a pas vraiment sa place, non? RE: [PHP] Singleton PDO - php_addict - 19-10-2011 merci pour vos éclaircissements, effectivement je comprends mieux la notion d'objet maintenant, je verrais plus tard pour les héritages car là c'est du domaine de l’ésotérisme pour le moment... RE: [PHP] Singleton PDO - Sephi-Chan - 19-10-2011 Je pense que tu ne devrais pas te mettre à la POO tout seul comme ça, tu risques de faire n'importe quoi et de ne pas apprendre correctement. C'est toujours ce qui se passe quand un habitué du procédural se lance là dedans. Mon conseil : contente-toi d'utiliser de outils écrits en objet. Ça te poussera à penser en objet et ça deviendra plus simple pour toi. Ensuite seulement tu pourras commencer à créer tes propres objets. Je te conseille le couple Symfony et Doctrine. C'est ce qui se fait de mieux en PHP. Je sais que c'est difficile, mais là tu vas juste perdre du temps. Tu n'es pas le premier que je vois passer du PHP procédural au PHP objet, et je peux t'assurer que c'est toujours la cata. Et en plus, ça te permettrait d'améliorer ton niveau. Tant qu'on ne se fait pas un peu violence, on stagne. Et dans ce domaine, stagner c'est reculer. RE: [PHP] Singleton PDO - php_addict - 19-10-2011 merci du conseil. le temps me manque pour apprendre à utiliser un framework malheureusement même si tu as sans doute raison. juste un dernier petit truc pour savoir si je comprends bien le principe... je fais une class pour mon objet Categorie, cette classe ne contiendrait que l'objet en question, pas de méthode :
et une class Blog pour gestion des categories, articles, etc... qui ressemble à ceci: Code : class Blog j'ai bon ? ou :non: ? RE: [PHP] Singleton PDO - Sephi-Chan - 19-10-2011 (19-10-2011, 07:41 PM)php_addict a écrit : merci du conseil. le temps me manque pour apprendre à utiliser un framework malheureusement même si tu as sans doute raison. Sans offense : je lis toujours les mêmes conneries. Arrêtez de croire que vous gagnez du temps à réinventer la roue, d'autant que vous inventez des roues carrées, qui tournent mal et n'ont aucun potentiel. Investissez une bonne fois pour toute le peu de temps que vous avez pour faire des choses utiles. Apprendre à utiliser un framework est une chose utile. Indispensable, même. |