J'ai developpe sous PHP3, donc il y a un moment, et je veux recoder mes
sites en utilisant PHP5 et en gardant au maximum une meme architecture de
base entre mes sites.
Je fais regulierement de l'objet que ce soit en C++, Java, ou C#, mais
j'avoue que pour un site Web j'ai du mal a penser correctement a la
conception.
Ce que je pensais, c'est faire une classe INSCRIT, qui contient tous les
elements d'un inscrit, apres plusieurs methodes par exemple : une methode de
verification de la validite des donnees (par exemple est ce que la variable
nom contient bien seulement des caracteres), une methode d'inscription (pour
inscrire cet instance d'inscrit dans la base de donnees pour finaliser
l'inscription)... Ensuite je fais la meme chose en gros avec une classe
ARTICLE, et je cree aussi une classe ARTICLEMANAGER, qui permet de gerer
plusieurs articles : elle contiendrait par exemple une methode
ObtenirLesArticlesRecents ;) Et ca me renverrai un tableau d'instances
d'ARTICLE.
Merci de me corriger si je dis n'importe quoi... mais si je poste ici c'est
que ca me semble etonnant si j'ai juste :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume Bouchard
TigrouMeow wrote:
Bonjour,
Bonjour.
J'ai developpe sous PHP3, donc il y a un moment, et je veux recoder mes sites en utilisant PHP5 et en gardant au maximum une meme architecture de base entre mes sites.
Je t'arrete de suite. Pése le rapport temps/interet. Si cela marche trés bien en place, pourquoi te prendre la tete à utiliser quelque chose que tu ne maitrises pas encore et qui ne va t'apporter que des ennuis au départ. (Et je ne suis même pas certain que cela t'apporte du benefice)
Je fais regulierement de l'objet que ce soit en C++, Java, ou C#, mais j'avoue que pour un site Web j'ai du mal a penser correctement a la conception.
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python en se moment je peux te dire que de tout ce que je découvre de genial dans l'objet, rien n'est appliquable au web.
La seul amélioration significative que j'ai pu trouvé c'est de faire quelque chose du style chaine.strip(a).truc(b).replace(c) plutôt que remplace(split(truc(chaine),a),b),c) Mais je ne sais même pas si php5 apporte un outils de ce style, sauf à recrée sa propre class string, mais là tu y perd.
Je ne me bas pas CONTRE l'objet, juste contre l'inutilité de faire de l'objet quand la même chose est déjà fait avec des fonctions.
Ce que je pensais, c'est faire une classe INSCRIT
Jusque là rien ne me choque.
qui contient tous les
elements d'un inscrit, apres plusieurs methodes par exemple : une methode de verification de la validite des donnees (par exemple est ce que la variable nom contient bien seulement des caracteres)
Rien à faire dans la méthode inscrit cela... Tu peux trés bien à avoir à vérifier que ta variable toto est propre sans que toto soit le nom d'un inscrit. (Comme tu verifies toutes tes variables avant de faire quoi que ce soit, il n'y a aucune raisons qu'un nom erroné arrive dans la classe)
, une methode d'inscription (pour inscrire cet instance d'inscrit dans la base de donnees pour finaliser l'inscription)
Il est inscrit ? Il n'a donc pas de methode inscription...
AMHA, pour penser vraiment en objet, il faut l'objet visiteur, l'objet inscrit, qui derive de visiteur et l'objet admin qui derive des deux... (Et encore...)
Ensuite je fais la meme chose en gros avec une classe ARTICLE, et je cree aussi une classe ARTICLEMANAGER, qui permet de gerer plusieurs articles : elle contiendrait par exemple une methode ObtenirLesArticlesRecents ;) Et ca me renverrai un tableau d'instances d'ARTICLE.
En clair tu encapsules des fonctions qui existent déjà dans une classe.
Merci de me corriger si je dis n'importe quoi... mais si je poste ici c'est que ca me semble etonnant si j'ai juste :)
Je laisse au prop objet le soin de te corriger car j'avoue que je n'y connais rien, mais médite quand même ce que j'ai écrit.
-- Guillaume "Qu'entendez vous par code portable ? Je vous le met sur un cédéraume ?"
TigrouMeow wrote:
Bonjour,
Bonjour.
J'ai developpe sous PHP3, donc il y a un moment, et je veux recoder mes
sites en utilisant PHP5 et en gardant au maximum une meme architecture de
base entre mes sites.
Je t'arrete de suite. Pése le rapport temps/interet. Si cela marche trés
bien en place, pourquoi te prendre la tete à utiliser quelque chose que
tu ne maitrises pas encore et qui ne va t'apporter que des ennuis au
départ. (Et je ne suis même pas certain que cela t'apporte du benefice)
Je fais regulierement de l'objet que ce soit en C++, Java, ou C#, mais
j'avoue que pour un site Web j'ai du mal a penser correctement a la
conception.
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python
en se moment je peux te dire que de tout ce que je découvre de genial
dans l'objet, rien n'est appliquable au web.
La seul amélioration significative que j'ai pu trouvé c'est de faire
quelque chose du style chaine.strip(a).truc(b).replace(c) plutôt que
remplace(split(truc(chaine),a),b),c)
Mais je ne sais même pas si php5 apporte un outils de ce style, sauf à
recrée sa propre class string, mais là tu y perd.
Je ne me bas pas CONTRE l'objet, juste contre l'inutilité de faire de
l'objet quand la même chose est déjà fait avec des fonctions.
Ce que je pensais, c'est faire une classe INSCRIT
Jusque là rien ne me choque.
qui contient tous les
elements d'un inscrit, apres plusieurs methodes par exemple : une methode de
verification de la validite des donnees (par exemple est ce que la variable
nom contient bien seulement des caracteres)
Rien à faire dans la méthode inscrit cela... Tu peux trés bien à avoir à
vérifier que ta variable toto est propre sans que toto soit le nom d'un
inscrit. (Comme tu verifies toutes tes variables avant de faire quoi que
ce soit, il n'y a aucune raisons qu'un nom erroné arrive dans la classe)
, une methode d'inscription (pour
inscrire cet instance d'inscrit dans la base de donnees pour finaliser
l'inscription)
Il est inscrit ? Il n'a donc pas de methode inscription...
AMHA, pour penser vraiment en objet, il faut l'objet visiteur, l'objet
inscrit, qui derive de visiteur et l'objet admin qui derive des deux...
(Et encore...)
Ensuite je fais la meme chose en gros avec une classe
ARTICLE, et je cree aussi une classe ARTICLEMANAGER, qui permet de gerer
plusieurs articles : elle contiendrait par exemple une methode
ObtenirLesArticlesRecents ;) Et ca me renverrai un tableau d'instances
d'ARTICLE.
En clair tu encapsules des fonctions qui existent déjà dans une classe.
Merci de me corriger si je dis n'importe quoi... mais si je poste ici c'est
que ca me semble etonnant si j'ai juste :)
Je laisse au prop objet le soin de te corriger car j'avoue que je n'y
connais rien, mais médite quand même ce que j'ai écrit.
--
Guillaume
"Qu'entendez vous par code portable ? Je vous le met sur un cédéraume ?"
J'ai developpe sous PHP3, donc il y a un moment, et je veux recoder mes sites en utilisant PHP5 et en gardant au maximum une meme architecture de base entre mes sites.
Je t'arrete de suite. Pése le rapport temps/interet. Si cela marche trés bien en place, pourquoi te prendre la tete à utiliser quelque chose que tu ne maitrises pas encore et qui ne va t'apporter que des ennuis au départ. (Et je ne suis même pas certain que cela t'apporte du benefice)
Je fais regulierement de l'objet que ce soit en C++, Java, ou C#, mais j'avoue que pour un site Web j'ai du mal a penser correctement a la conception.
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python en se moment je peux te dire que de tout ce que je découvre de genial dans l'objet, rien n'est appliquable au web.
La seul amélioration significative que j'ai pu trouvé c'est de faire quelque chose du style chaine.strip(a).truc(b).replace(c) plutôt que remplace(split(truc(chaine),a),b),c) Mais je ne sais même pas si php5 apporte un outils de ce style, sauf à recrée sa propre class string, mais là tu y perd.
Je ne me bas pas CONTRE l'objet, juste contre l'inutilité de faire de l'objet quand la même chose est déjà fait avec des fonctions.
Ce que je pensais, c'est faire une classe INSCRIT
Jusque là rien ne me choque.
qui contient tous les
elements d'un inscrit, apres plusieurs methodes par exemple : une methode de verification de la validite des donnees (par exemple est ce que la variable nom contient bien seulement des caracteres)
Rien à faire dans la méthode inscrit cela... Tu peux trés bien à avoir à vérifier que ta variable toto est propre sans que toto soit le nom d'un inscrit. (Comme tu verifies toutes tes variables avant de faire quoi que ce soit, il n'y a aucune raisons qu'un nom erroné arrive dans la classe)
, une methode d'inscription (pour inscrire cet instance d'inscrit dans la base de donnees pour finaliser l'inscription)
Il est inscrit ? Il n'a donc pas de methode inscription...
AMHA, pour penser vraiment en objet, il faut l'objet visiteur, l'objet inscrit, qui derive de visiteur et l'objet admin qui derive des deux... (Et encore...)
Ensuite je fais la meme chose en gros avec une classe ARTICLE, et je cree aussi une classe ARTICLEMANAGER, qui permet de gerer plusieurs articles : elle contiendrait par exemple une methode ObtenirLesArticlesRecents ;) Et ca me renverrai un tableau d'instances d'ARTICLE.
En clair tu encapsules des fonctions qui existent déjà dans une classe.
Merci de me corriger si je dis n'importe quoi... mais si je poste ici c'est que ca me semble etonnant si j'ai juste :)
Je laisse au prop objet le soin de te corriger car j'avoue que je n'y connais rien, mais médite quand même ce que j'ai écrit.
-- Guillaume "Qu'entendez vous par code portable ? Je vous le met sur un cédéraume ?"
dmetzler
euuuhhhh..... ce qui serait pas mal c'est que tu nous dise ce que tu veux vraiment faire avec ton site. A part la gestion des inscrits et des articles, on ne sait pas vraiment trop là !
Pour ma part, quand je fais de l'objet en php, je mets d'un coté les classes métiers (article, articlemanager etc...). Ces classes permettent de gérer mes objets métier, et je peux très bien les utiliser avec autre chose qu'une page web (par exemple un script php en console).
J'ai d'un autre coté des templates (j'utilise pour ma part Smarty) qui me permettent de séparer la logique de la vue. Et au milieu des deux un controleur qui gère les requêtes (opÞl&id=1 ou op=new etc...), les demandes au objets métier et ensuite remplit les champs de la vue.
Pour gérer tout ça j'ai aussi ce que l'on appelle un FrontControler qui me choisit le controleur à utiliser en fonction du module où l'on se trouve.
C'est ma méthode et elle n'est bien sur pas unique et certainement pas optimale pour certains.
euuuhhhh..... ce qui serait pas mal c'est que tu nous dise ce que tu
veux vraiment faire avec ton site. A part la gestion des inscrits et
des articles, on ne sait pas vraiment trop là !
Pour ma part, quand je fais de l'objet en php, je mets d'un coté les
classes métiers (article, articlemanager etc...). Ces classes
permettent de gérer mes objets métier, et je peux très bien les
utiliser avec autre chose qu'une page web (par exemple un script php en
console).
J'ai d'un autre coté des templates (j'utilise pour ma part Smarty) qui
me permettent de séparer la logique de la vue. Et au milieu des deux
un controleur qui gère les requêtes (opÞl&id=1 ou op=new etc...),
les demandes au objets métier et ensuite remplit les champs de la vue.
Pour gérer tout ça j'ai aussi ce que l'on appelle un FrontControler
qui me choisit le controleur à utiliser en fonction du module où l'on
se trouve.
C'est ma méthode et elle n'est bien sur pas unique et certainement pas
optimale pour certains.
euuuhhhh..... ce qui serait pas mal c'est que tu nous dise ce que tu veux vraiment faire avec ton site. A part la gestion des inscrits et des articles, on ne sait pas vraiment trop là !
Pour ma part, quand je fais de l'objet en php, je mets d'un coté les classes métiers (article, articlemanager etc...). Ces classes permettent de gérer mes objets métier, et je peux très bien les utiliser avec autre chose qu'une page web (par exemple un script php en console).
J'ai d'un autre coté des templates (j'utilise pour ma part Smarty) qui me permettent de séparer la logique de la vue. Et au milieu des deux un controleur qui gère les requêtes (opÞl&id=1 ou op=new etc...), les demandes au objets métier et ensuite remplit les champs de la vue.
Pour gérer tout ça j'ai aussi ce que l'on appelle un FrontControler qui me choisit le controleur à utiliser en fonction du module où l'on se trouve.
C'est ma méthode et elle n'est bien sur pas unique et certainement pas optimale pour certains.
bruno modulix
Guillaume Bouchard wrote: (snip)
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python en se moment je peux te dire que de tout ce que je découvre de genial dans l'objet, rien n'est appliquable au web.
Si si. Beaucoups de choses. Regarde Zope ou Ruby on Rails, tu verra que l'OO a tout à fait sa place dans ce domaine...
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage restant essentiellement procédural.
-- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Guillaume Bouchard wrote:
(snip)
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python
en se moment je peux te dire que de tout ce que je découvre de genial
dans l'objet, rien n'est appliquable au web.
Si si. Beaucoups de choses. Regarde Zope ou Ruby on Rails, tu verra que
l'OO a tout à fait sa place dans ce domaine...
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage
restant essentiellement procédural.
--
bruno desthuilliers
ruby -e "print 'onurb@xiludom.gro'.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python en se moment je peux te dire que de tout ce que je découvre de genial dans l'objet, rien n'est appliquable au web.
Si si. Beaucoups de choses. Regarde Zope ou Ruby on Rails, tu verra que l'OO a tout à fait sa place dans ce domaine...
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage restant essentiellement procédural.
-- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
TigrouMeow
"" a écrit dans le message de news:
euuuhhhh..... ce qui serait pas mal c'est que tu nous dise ce que tu veux vraiment faire avec ton site. A part la gestion des inscrits et des articles, on ne sait pas vraiment trop là !
En fait pour l'instant je fait la base pour plusieurs sites que je veux refaire, du coup y'a toujours des articles (des news) et des inscriptions. Y'a aussi la gestion de l'affichage des pages, je sais pas du tout comment faire encore, en tout cas y'aura smarty au milieu c'est certain.
Pour ma part, quand je fais de l'objet en php, je mets d'un coté les classes métiers (article, articlemanager etc...). Ces classes permettent de gérer mes objets métier, et je peux très bien les utiliser avec autre chose qu'une page web (par exemple un script php en console).
J'ai d'un autre coté des templates (j'utilise pour ma part Smarty) qui me permettent de séparer la logique de la vue. Et au milieu des deux un controleur qui gère les requêtes (opÞl&id=1 ou op=new etc...), les demandes au objets métier et ensuite remplit les champs de la vue.
Pour gérer tout ça j'ai aussi ce que l'on appelle un FrontControler qui me choisit le controleur à utiliser en fonction du module où l'on se trouve.
C'est ma méthode et elle n'est bien sur pas unique et certainement pas optimale pour certains.
En fait ce que j'aimerais bien voir c'est un diagramme des classes pour voir comment un site est fait en objet, j'ai google a fond mais je n'ai trouve aucun exemple... (sinon a au pire j'irai a la fnac de chatelet je trouverai bien un bouquin...)
"dmetzler@myaccountingmail.com" <dmetzler@gmail.com> a écrit dans le message
de news: 1114699260.198290.301590@g14g2000cwa.googlegroups.com...
euuuhhhh..... ce qui serait pas mal c'est que tu nous dise ce que tu
veux vraiment faire avec ton site. A part la gestion des inscrits et
des articles, on ne sait pas vraiment trop là !
En fait pour l'instant je fait la base pour plusieurs sites que je veux
refaire, du coup y'a toujours des articles (des news) et des
inscriptions. Y'a aussi la gestion de l'affichage des pages, je
sais pas du tout comment faire encore, en tout cas y'aura
smarty au milieu c'est certain.
Pour ma part, quand je fais de l'objet en php, je mets d'un coté les
classes métiers (article, articlemanager etc...). Ces classes
permettent de gérer mes objets métier, et je peux très bien les
utiliser avec autre chose qu'une page web (par exemple un script php en
console).
J'ai d'un autre coté des templates (j'utilise pour ma part Smarty) qui
me permettent de séparer la logique de la vue. Et au milieu des deux
un controleur qui gère les requêtes (opÞl&id=1 ou op=new etc...),
les demandes au objets métier et ensuite remplit les champs de la vue.
Pour gérer tout ça j'ai aussi ce que l'on appelle un FrontControler
qui me choisit le controleur à utiliser en fonction du module où l'on
se trouve.
C'est ma méthode et elle n'est bien sur pas unique et certainement pas
optimale pour certains.
En fait ce que j'aimerais bien voir c'est un diagramme des classes pour
voir comment un site est fait en objet, j'ai google a fond mais je n'ai
trouve aucun exemple... (sinon a au pire j'irai a la fnac de chatelet je
trouverai bien un bouquin...)
euuuhhhh..... ce qui serait pas mal c'est que tu nous dise ce que tu veux vraiment faire avec ton site. A part la gestion des inscrits et des articles, on ne sait pas vraiment trop là !
En fait pour l'instant je fait la base pour plusieurs sites que je veux refaire, du coup y'a toujours des articles (des news) et des inscriptions. Y'a aussi la gestion de l'affichage des pages, je sais pas du tout comment faire encore, en tout cas y'aura smarty au milieu c'est certain.
Pour ma part, quand je fais de l'objet en php, je mets d'un coté les classes métiers (article, articlemanager etc...). Ces classes permettent de gérer mes objets métier, et je peux très bien les utiliser avec autre chose qu'une page web (par exemple un script php en console).
J'ai d'un autre coté des templates (j'utilise pour ma part Smarty) qui me permettent de séparer la logique de la vue. Et au milieu des deux un controleur qui gère les requêtes (opÞl&id=1 ou op=new etc...), les demandes au objets métier et ensuite remplit les champs de la vue.
Pour gérer tout ça j'ai aussi ce que l'on appelle un FrontControler qui me choisit le controleur à utiliser en fonction du module où l'on se trouve.
C'est ma méthode et elle n'est bien sur pas unique et certainement pas optimale pour certains.
En fait ce que j'aimerais bien voir c'est un diagramme des classes pour voir comment un site est fait en objet, j'ai google a fond mais je n'ai trouve aucun exemple... (sinon a au pire j'irai a la fnac de chatelet je trouverai bien un bouquin...)
laurent
bruno modulix wrote:
Guillaume Bouchard wrote: (snip)
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python en se moment je peux te dire que de tout ce que je découvre de genial dans l'objet, rien n'est appliquable au web.
Si si. Beaucoups de choses. Regarde Zope ou Ruby on Rails, tu verra que l'OO a tout à fait sa place dans ce domaine...
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage restant essentiellement procédural.
oui, et ca apporte beaucoup en lisibilité, en qualité de code et en maintenabilité.
bruno modulix wrote:
Guillaume Bouchard wrote:
(snip)
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python
en se moment je peux te dire que de tout ce que je découvre de genial
dans l'objet, rien n'est appliquable au web.
Si si. Beaucoups de choses. Regarde Zope ou Ruby on Rails, tu verra que
l'OO a tout à fait sa place dans ce domaine...
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage
restant essentiellement procédural.
oui, et ca apporte beaucoup en lisibilité, en qualité de code et en
maintenabilité.
Je n'ai jamais fais serieusement d'objet, je commence un peu en Python en se moment je peux te dire que de tout ce que je découvre de genial dans l'objet, rien n'est appliquable au web.
Si si. Beaucoups de choses. Regarde Zope ou Ruby on Rails, tu verra que l'OO a tout à fait sa place dans ce domaine...
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage restant essentiellement procédural.
oui, et ca apporte beaucoup en lisibilité, en qualité de code et en maintenabilité.
bruno modulix
laurent wrote:
bruno modulix wrote:
(snip)
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le langage restant essentiellement procédural.
oui, et ca apporte beaucoup en lisibilité, en qualité de code et en maintenabilité.
Quoi ? Le fait que PHP soit plus procédural qu'objet ? Ou l'utilisation de l'approche OO en PHP ?
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
laurent wrote:
bruno modulix wrote:
(snip)
Par contre, l'intérêt de l'objet *en PHP* est plus restreint, le
langage restant essentiellement procédural.
oui, et ca apporte beaucoup en lisibilité, en qualité de code et en
maintenabilité.
Quoi ? Le fait que PHP soit plus procédural qu'objet ? Ou l'utilisation
de l'approche OO en PHP ?
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"