PHP objet: questions!

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

glattering
Nouveau WRInaute
 
Messages: 2
Inscription: Jeu Avr 10, 2008 15:33

PHP objet: questions!

Message le Jeu Avr 10, 2008 15:46

Bonjour à tous!

Voilà, je débute en PHP et en programmation Objet et j'ai quelques questions spécifique au fait de faire du PHP avec de l'objet.

J'aimerais créer les bonnes classes pour permettre de facilement créer les éléments de mes pages web (liens, images, header, menus, listes, tableaux etc), et disons que je m'embrouille un peu! Je n'arrive pas à voir quelles classes et quelles méthodes, et comment organiser mes classes pour disposer d'un ensemble d'outils faciles à utiliser.

Auriez vous des exemples (complets si possible car j'ai trouvé plein d'exemples très bien, mais dès que j'essaie de les appliquer plus globalement, ça ne convient pas) ou bien des idées ou des conseils?

Merci!

/glattering, débutant.


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Jeu Avr 10, 2008 16:21

Hello,

pour ma part pondre une classe histoire de remplacer
Code: Tout sélectionner
<img src="<?=$imgSrc?>" alt="bidule" />

par
Code: Tout sélectionner
$img = new img( $imgSrc );
$img->alt = 'bidule';
echo $img;


Je ne vois vraiment pas l'intérêt.
Là où j'utilise l'objet c'est pour l'accès et le traitement des données. Pas pour faire du "HTML Objet".

glattering
Nouveau WRInaute
 
Messages: 2
Inscription: Jeu Avr 10, 2008 15:33

Message le Jeu Avr 10, 2008 17:15

Évidemment, ce n'est pas pour faire une bête balise img, mais bien pour tout organiser.
Si un jour au lieu du html, je veux créer une page en xml, il suffira de rajouter la fonction qui génère le xhtml et hop, la structure sera la même j'aurais juste besoin d'appeler une méthode getXML() à la place de la méthode getHTML(). Même chose pour générer un fichier texte plutôt qu'une page web.
C'est la structure , l'organisation qui importe, ensuite ce qu'on veut afficher se change facilement.


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Jeu Avr 10, 2008 17:42

Et bien je ne vois toujours pas l'intérêt : j'utilise pourtant beaucoup les objets, suis un modèle "pseudo MVC", mais là ça me semble complètement disproportionné et inadapté.

gnarco
Nouveau WRInaute
 
Messages: 16
Inscription: Mer Sep 07, 2005 11:18

Message le Jeu Avr 10, 2008 20:33

Salut,

Je dirais que pour l'aspect rendu (donc le format généré par ton outil gérant ton site) doit se baser sur des templates.
Ainsi, tu peux tout à fait mettre des templates qui donne du html, d'autres du xml, et du csv par exemple.

Ensuite, tu dois séparer tes différentes couches :
- Accès aux données
- Traitement des données
- Affichage (c'est là qu'interviennent les templates)

Depuis ta couche de traitement de données, tu propulses l'information nécessaire pour tes templates (une liste provenant d'une base de données)

Et au niveau de tes templates, il te faut un système pour exploiter ces données.
Tu peux le faire en mettant un peu de php :
<img src='<? echo $image_src1; ?>'> par exemple
ou utiliser un moteur de template type smarty.
Dans la couche de template, il y a souvent des éléments que l'on appelle helper (des fonctions simples) permettant de faire des manipulations pour l'affichage (formatage de date ou autre).

Ce que je te décris là est ce qu'on appelle le modèle MVC pour Model (base données) View(template) Control(couche de traitement).

Personnellement, j'ai commencé à développer, il y a très longtemps et je me suis réalisé un framework basé sur ce concept que je fais évolué régulièrement.
Entre temps, il y a eu des gros projet basé sur ce concept et qui embarque toute la logique classique d'un site internet (traitement des urls, contrôle des variables soumises, gestion des formulaires, gestion de l'identification ...)

Plusieurs projets :
- Symphony : http://fr.wikipedia.org/wiki/Symfony
- Zend framework : http://fr.wikipedia.org/wiki/Zend_Framework
- CakePHP : http://fr.wikipedia.org/wiki/CakePHP
- CodeIgniter
- Jelix : http://www.jelix.org/

Personnellement, si je devais refaire, je testerais l'ensemble de ces projets, je prendrais celui qui semble le plus adéquat par rapport à mes besoins (facilité de développement, évolution possible, communauté, etc ...) et j'investirais dessus en terme de connaissance et j'ajouterais une brique me permettant de mutualiser mes développements.

Je te conseille donc de ne pas réinventer la roue, des milliers de personnes ont déjà planchées sur ces problèmes et en ont sorti des solutions.
De mon côté, je me retrouve un peu coincé, avec mon framework qui est sympatique tout plein, mais qui n'évolue que par moi et qui n'est pas connu dans l'industrie (problème pour former des intervenants, etc ...)

J'espère t'avoir aiguillé quelque peu ! :)

Bon courage !


k2pi
WRInaute impliqué
WRInaute impliqué
 
Messages: 308
Inscription: Dim Fév 04, 2007 22:17

Message le Jeu Avr 10, 2008 21:41

tout a fait d'accord avec gnarco !

Sinon il ne faut pas oublier une chose c'est que php n'est pas java !
oui ca peut paraitre trivial, mais le full objet n'est pas recommande pour php (c'est pas moi qui le dit mais les concepteurs du langage, c'est dire)
En clair l'objet apporte ennnooormement a php et je suis d'ailleurs un grand utilisateurs des objets en php. Mais il ne faut pas tomber dans l'objet pour l'objet.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités