Page 1 sur 2

Structure d'un projet en PHP5

Posté : 18 oct. 2007, 18:14
par simane
Salut,

Je suis nouveau en php5; j'aimerai savoir la structure que doit respecter un projet développé en PHP5. Est ce que tous les fichiers doivent être reprèsentés par des classes? Ou on peut avoir quelques classes et des fichier ".php" qui reprèsenteront les squelettes?

Dites moi,svp, je veux réspecter la structure que doit avoir un projet développer en php5 pure et dur.

Cordialement

Posté : 18 oct. 2007, 18:16
par Sékiltoyai
devoir ?
Il n'y a pas d'obligations. Tu n'es même pas obligé de faire de l'OO en PHP5…

Posté : 18 oct. 2007, 18:19
par zeus
Modération :
simane, le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.

Posté : 18 oct. 2007, 18:29
par simane
Excusez moi Zeus du multipostage, je l'ai fait par mégarde.

Sékiltoyai, c'est pas un devoir. C'est une application que je dois développer en php5 et que php5 est un langage OO. Donc je me disais, comme tous les langage OO, il doit obéir au norme de celles ci, c'est à dire une structure en classe.

Maintenant ma question Sékiltoyai est la suivante: Comment vais je procédersi je veux faire l'OO?

Cordialement.

Posté : 18 oct. 2007, 19:10
par AB
Excusez moi Zeus du multipostage, je l'ai fait par mégarde.

Sékiltoyai, c'est pas un devoir. C'est une application que je dois développer en php5 et que php5 est un langage OO. Donc je me disais, comme tous les langage OO, il doit obéir au norme de celles ci, c'est à dire une structure en classe.

Maintenant ma question Sékiltoyai est la suivante: Comment vais je procédersi je veux faire l'OO?

Cordialement.
D'après ce que j'en sais, outre des fonctions supplémentaires, la principale différence entre php 4 et php 5 est que le mode objet en php 5 a été amélioré et est devenu "mature". Php 5 est orienté objet uniquement si tu le souhaites. Et tu peux mélanger des classes et du procédural sans souci.

Pour les classes, il y a quelques tutos sur ce site. Il faut juste les transposer en php5 car elles ont été écrites en php4.

Posté : 18 oct. 2007, 19:11
par Sékiltoyai
Sékiltoyai, c'est pas un devoir.
Quand je disais "devoir ?", c'est que je me demandais pourquoi tu utilisais ce verbe dans ton propos.

Posté : 18 oct. 2007, 20:22
par Berzemus
moi je trouve que ça se mélange tip top, le procédural et l'objet..

Posté : 18 oct. 2007, 20:53
par AB
moi je trouve que ça se mélange tip top, le procédural et l'objet..
+1

C'est ce que je fais et je pense qu'un script optimisé niveau performance mêle parfois/souvent les deux.

Maintenant, je crois qu'il y a une tendance actuelle pour faire systématiquement du "tout objet"... et j'avoue avoir du mal à comprendre l'intérêt de cette démarche.

Posté : 18 oct. 2007, 21:18
par zeus
La performance pure n'est pas le seul axe à prendre en compte.

Pour l'évolutivité d'un projet, l'OO est beaucoup plus pratique. ;)

Posté : 18 oct. 2007, 21:24
par Hubert Roksor
Concernant l'aspect "performance", j'aimerais préciser que la différence en terme de performances entre func() et $this->func(), ou $var et $this->var est vraiment anecdotique, donc ne vous focalisez pas là-dessus, ça n'en vaut pas la peine.

Posté : 18 oct. 2007, 22:35
par AB
Concernant l'aspect "performance", j'aimerais préciser que la différence en terme de performances entre func() et $this->func(), ou $var et $this->var est vraiment anecdotique, donc ne vous focalisez pas là-dessus, ça n'en vaut pas la peine.
Je pensais pas à ça. Mais plutôt le fait de passer systématiquement par une fonction...
La performance pure n'est pas le seul axe à prendre en compte.

Pour l'évolutivité d'un projet, l'OO est beaucoup plus pratique. ;)
Sans aucun doute pour les gros projets. C'est pour les petits que je m'interroge.

Cela dit je suis à la recherche également de tutos sur le développement en mode objet. Venant du procédural, je me dis que l'OO demande une philosophie différente pour être optimisé.

Ce qui nous ramène à la question de Simane. Vous connaissez des liens pour des conseils d'ordre général agrémentés d'exemples ? Les tutos que j'ai trouvés, bien qu'instructifs, me laissent sur ma faim. J'utilise bien des classes ici et là, mais je n'ai pas encore la philosophie nécessaire pour les apprécier (et les développer) systématiquement.

Peut-être des éléments de réponse dans la prochaine édition de php5 avancé ?

Posté : 19 oct. 2007, 01:53
par Sékiltoyai
Sans vouloir jeter un pavé dans la mare, si on veut un site performant, on laisse tomber la POO et le PHP et on fait du CGI en assembleur…
Je veux dire que les performances n'ont que peu de place dans un débat d'architecture, voire même dans l'idée d'orienté objet (les méthodes sont des bouts de code qui pourraient être optimisées si elles étaient intégrées dans le reste du code). Si on veut du 100% performant en PHP, on est obligé de passer au procédural et supprimer toute notion de fonction pour optimiser à la main tout le code en un bloc. Il y aura donc toujours moyen de faire plus performant. Et quand on parle de POO, c'est que l'on a déjà dans l'idée de sacrifier une part de performance au profit de la maintenabilité, de la clarté, de la modularité, …
Donc je ne pense pas qu'il soit de mise de mettre les performances au premier plan dans ce sujet. Quand on fait de l'architecture, ce n'est pas pour les performances…

Posté : 19 oct. 2007, 06:29
par Tracker
Sans vouloir jeter un pavé dans la mare, si on veut un site performant, on laisse tomber la POO et le PHP et on fait du CGI en assembleur…
Je veux dire que les performances n'ont que peu de place dans un débat d'architecture, voire même dans l'idée d'orienté objet (les méthodes sont des bouts de code qui pourraient être optimisées si elles étaient intégrées dans le reste du code). Si on veut du 100% performant en PHP, on est obligé de passer au procédural et supprimer toute notion de fonction pour optimiser à la main tout le code en un bloc. Il y aura donc toujours moyen de faire plus performant. Et quand on parle de POO, c'est que l'on a déjà dans l'idée de sacrifier une part de performance au profit de la maintenabilité, de la clarté, de la modularité, …
Donc je ne pense pas qu'il soit de mise de mettre les performances au premier plan dans ce sujet. Quand on fait de l'architecture, ce n'est pas pour les performances…
D'accord, d'autant qu'il exite en php des tas d' "opcode cacher" tous plus efficaces. Performance n'a jamais rimé avec "interpréteur de code" que le contexte soit object ou non. C'est juste un faux débat.
Passer du développement procédural à l'objet est plutot ardu, parce qu'il y a un monde entre comprendre des architectures de classes et "penser objet", c'est d'ailleurs en partie pour cette raison que l'opposition (procédural/objet) perdure. Alors bon courage à tous ceux qui se lancent.


Tracker.

Posté : 19 oct. 2007, 11:46
par Berzemus
Et donc php5 est un bon pas, puisqu'il permet de passer de l'un à l'autre sans trop perdre au passage

Mais pour le tout objet, j'y suis pas encore, surtout depuis que j'ai vu les DB objet..

Posté : 19 oct. 2007, 13:21
par AB
Passer du développement procédural à l'objet est plutot ardu, parce qu'il y a un monde entre comprendre des architectures de classes et "penser objet"...
Tracker.
C'est bien ce que j'ai remarqué, et c'est pour cette raison que je cherche des tutos sur "penser objet".

J'ai été voir sur d'autres forums et chaque fois que cette question est abordée, elle reste toujours sans réponse. J'en viens à penser que ce n'est pas la bonne question, ou un secret jalousement gardé par les membres d'une secte obscure :lol:

Quelle question faut-il (se) poser pour avoir une réponse ou avancer sur le sujet :?: