Techniques de Dev PHP ?

Techniques de Dev PHP ? - PHP - Programmation

Marsh Posté le 18-01-2007 à 14:20:27    

Bonjour,
 
Y a pas mal de temps que j'ai pas développé en .php (2 ans) et je risque fortement de m'y remettre bientôt...
Le projet serait un site portail front end entre 15 et 20 pages et un back office pour gèrer 5-6 tables MySQL.
 
A l'époque je définissais mes pages modèles en HTML (en pleurant sur les différences entre IE et Firefox). Je définissais les pages.php qui allaient parser les templates avec vtemplate et je crées dans ces fichiers les eventuels tableau et formulaires (pas très maintenable)
 
Pour modifier le site j'allais aussi quelque fois modifier les template plus ou moins redondan directement dans un éditeur HTML. :-(
 
Finallement le temps de développement etait souvent long comparé à des appli executables...  
 
Ma question est de savoir si vous utilisez des méthodes plus efficace pour ce genre de projet ou des conseils (techniques, logiciels...)
 
Merci
 

Reply

Marsh Posté le 18-01-2007 à 14:20:27   

Reply

Marsh Posté le 18-01-2007 à 14:43:31    

|
 |
 |
 |
 |
 |
 V

Reply

Marsh Posté le 18-01-2007 à 17:15:21    

J'ai bien vu ton topic MVC, mais franchement après avoir lu le quart des post je suis pas beaucoup plus avancé...  
 
De plus il est orienté niquement sur MVC peut etre il y a d'autres méthodes.
 
Merci

Reply

Marsh Posté le 18-01-2007 à 18:24:10    

MVC, c'est pas une méthode de développement, c'est une architecture d'application (plus précisemment, un design pattern).

Reply

Marsh Posté le 19-01-2007 à 10:29:47    

fredko a écrit :

De plus il est orienté niquement sur MVC peut etre il y a d'autres méthodes.


Non, il est censé parlé des architectures différentes. Là pour l'instant on a juste parlé d'MVC, mais tu peux y aller et lancer le débat :) Sinon le MVC est une architecture plutôt logique, ou au moins la partie VC

Reply

Marsh Posté le 19-01-2007 à 10:42:06    

Je pense pas qu'il y ait vraiment des méthodes de dév propres à PHP. Ce n'est jamais qu'un langage de programmation (y compris orienté objet). Donc toutes les méthodes de conceptions de POO sont applicables (modélisation OMT ou UML) et je pense qu'un outil dans le genre de rationnal rose doit être capable de sortir à partir de l'uml le squelette des classes en PHP.
Sinon, y'a aussi les méthodes de dév dites "agile" comme XP (extreme programming) ou crystal, mais y'en a d'autres...

Reply

Marsh Posté le 19-01-2007 à 10:42:46    

Mouais, l'UML c'est bien pour documenter, mais pour designer c'est bof :D

Reply

Marsh Posté le 19-01-2007 à 10:48:45    

FlorentG a écrit :

Mouais, l'UML c'est bien pour documenter, mais pour designer c'est bof :D


 
Perso, j'utilise OMT pour modéliser le MCD de mes BD. Ca prend moins de place que Merise où faut dessiner une grosse patate entre 2 tables pour écrire le nom de la relation :D
Comme je développe essentiellement des applis reposant sur une BD, le schéma de mes classes découle du MCD : 1 classe = 1 table
Jusqu'à présent, ça a toujours bien fonctionné...

Reply

Marsh Posté le 19-01-2007 à 10:56:01    

rufo > une classe pour une table, c'est bien, mais il ne faut pas oublier que parfois un élément métier peut correspondre à un groupe de tables et dans ce cas, il est parfois plus pertinant d'avoir une classe par élément métier plustôt qu'une classe par table.
 
Edit : Correction d'ortographe.

Message cité 2 fois
Message édité par omega2 le 19-01-2007 à 11:16:29
Reply

Marsh Posté le 19-01-2007 à 11:13:30    

omega2 a écrit :

rufo > une classe pour une table, c'est bien, mais il ne faut pas oublier que parfois un élément métié peut correspondre à un groupe de tables et dans ce cas, il est parfois plus pertinant d'avoir une classe par élément métié plustôt qu'une classe par table.


 
J'suis d'accord, mais métier pas métié :o

Reply

Marsh Posté le 19-01-2007 à 11:13:30   

Reply

Marsh Posté le 19-01-2007 à 11:24:48    

omega2 a écrit :

rufo > une classe pour une table, c'est bien, mais il ne faut pas oublier que parfois un élément métier peut correspondre à un groupe de tables et dans ce cas, il est parfois plus pertinant d'avoir une classe par élément métier plustôt qu'une classe par table.
 
Edit : Correction d'ortographe.


 
Une classe peut très bien être constituée de plusieurs autres classes. Un grand classique, c'est lorsque t'as une relation 1-n
Imaginons une commande comportant plusieurs articles.
Moi, je vais faire une classe "Commande", une classe "Article" et dans ma classe "Commande", je vais avoir un attribut de type tableau qui contiendra la liste des instances d'articles qui composent la commande.

Reply

Marsh Posté le 19-01-2007 à 11:28:33    

Donc ton équation est fausse : 1 classe = 1 table  
C'est plustôt 1 classe = 1 table ou plusieurs autres classes
 
Ton architecture ne découle donc pas totalement du MCD de la base de donnée vu que les couches les plus proches de l'utilisateur n'y sont pas décrites.


Message édité par omega2 le 19-01-2007 à 11:29:04
Reply

Marsh Posté le 19-01-2007 à 11:44:39    

Ben si, j'ai bien une classe pour chaque table de ma BD. Ensuite, faut bien modéliser dans les classes les relations entre les tables. Donc, ça rajoute des attributs dans certaines classes.

Reply

Marsh Posté le 19-01-2007 à 12:09:22    

La meilleure technique de dev PHP, c'est de ne pas utiliser du PHP :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-01-2007 à 13:02:15    

Application utilise framework, application utilise framework ( repete )

 

putin coupure de courant en plein message de 15+ lignes ...

 

Architecture en procédural typique

 

/
-index.php = controlleur

 

/include/
           -librairies
/modules/
           -appli1
                    /template1
           -appli2
                    /template2

 

/cache/

 


defs :

 

controlleur index.php

Code :
  1. $t = $_GET['module'];
  2. switch($t){
  3. case ...
  4. default
  5. }
 


include = librairie de function

 

principe = 1 function = 1 tache

 
Code :
  1. function a{}
  2. function b{}
 

template et cache pour le template et cache

 

index.php = runtime :

 

tu appelles ton module par  $_GEt et include plus tard.

 


Jusque ici t'as un framework MVC, par contre à partir du moment ou tu codes un module tu en sors et tu entres dans l'enfer de la modification du code.

 

definition du module :

 

module = include librairie + mélange MC .

 


+ de l'architecture: simple et efficace . intuitif

 

- de l'archi = à supposer qu'un module dépasse une certaine compléxité( taille de code plus exactement ), ça devient ingérable.

 


Sinon tu fais comme 95 % des "développeurs" et tu t'installes un CMS ou tu serres les fesses et pisse des lignes.

 

Me pense qu'il faudrait arreter de contribuer pour rien  :ouch:


Message édité par supermofo le 19-01-2007 à 13:16:40

---------------
Echange de 3000+ liens PR 3 -> 5, me pm urgent !
Reply

Marsh Posté le 19-01-2007 à 15:12:36    

masklinn a écrit :

La meilleure technique de dev PHP, c'est de ne pas utiliser du PHP :o


kikoooooooooooooo

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed