Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Débuter
Débuter Forum d'entraide pour débuter dans la création de sites Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2011, 10h09   #1
Membre du Club
 
Inscription : août 2004
Messages : 386
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 386
Points : 68
Points : 68
Par défaut Php Procédural ou Objet ?

Bonjour à tous.

Il y a une question qui doit hanter tous les débutants en dev web

J ai une assez bonne habitude de développer en procédural et je me pose la question de changer car j ai l'impression qu'il ya de moins en moins de sites pros en procédural.

par exemple, j ai récupéré le contenu d' un site en objet, voilà ce que donne la page index.php

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
//print $HTTP_GET_VARS['author_id'];
 
// don't cache
//$cachetimeout=-1;
 
// $Id: index.php,v 1.6 2004/10/14 18:04:14 joestewart Exp $
require('config.php');
 
// don't cache page
$cachetimeout=-1;
 
$pagetitle   = pslgetText($ary['module']);     // The name to be displayed in the header
$xsiteobject = pslgetText($ary['module'] .' Page'); // This Defines The META Tag Object Type
 
// Show login form if requested
if(!empty($HTTP_GET_VARS['login'])) {
  $auth->login_if($HTTP_GET_VARS['login']);
}
 
//print_r($_PSL);
 
$_PSL['metatags']['object'] = $xsiteobject;
 
// Is the page specified? - if not use module index.php
$modulefilename =  'index.php';
 
// setup the block module   
$content = include($_PSL['moduledir'] ."/". $_PSL['module']['Block'] ."/". $modulefilename);
 
// show page
echo $content;
 
page_close();
?>

et voilà l'index.php d'un site classique en procédural:

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr-fr">
 
<head>
 
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  <title>Exemple d'un site dynamique</title>
  <meta name="Description" content="Exemple grâce au langage PHP et SQL." />
  <link href="style.css" rel="stylesheet" type="text/css"/>
 
</head>
 
<body>
 
<div id="moncadre">
<?php include('menu.php');?>
 
<div class="cadrecentrale">
<h1>Exemple d'un site dynamique</h1>
 <?php
//On se connecte à la base de données
include('connexion_bd.php');
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier connexion_bd.php.');
 
//On selectionne les 5 dernières entrées
$result1 = mysql_query("SELECT id,titre,description FROM CONTENU ORDER BY id ASC LIMIT 5");
 
while($affiche = mysql_fetch_array($result1))
 {
  echo '<div class="cadre">  <h2><a title="'.$affiche['titre'].'" href="page.php?id='.$affiche['id'].'">'.$affiche  ['titre'].'</a></h2>  '.nl2br($affiche['description']).'  </div>';
 }
// Fermeture de la connexion à la base de données
;
?>
 
 
</div>
 
<?php include('footer.php');?>
 
</div>
 
</body>
 
</html>

Dans le code 2, je vois le html, les css, etc

mais que veut dire le premier? car je ne reconnais rien...

merci de m'expliquer les différences et avantages s'il y en a ,ce qui peut, je pense aider beaucoup de gens.

En un mot, ça vaut il le coup d' apprendre encore en 2011, le procédural?


stephi
Stéph utilisateur d'acces est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 09h26   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
Bien évidemment... Faut pas croire que la POO c'est la réponse à tout.
Il est des fois bien maladroit de développer une application en POO alors que ce serait plus facilement maintenable en procédurable (et plus compréhensible).
Faut savoir ce qu'il faut vraiment, si on a besoin de beaucoup de modularité ou non (bien que des fois les solutions POO et procédurales se valent tout aussi bien).

Après on peut très bien scinder correctement l'affichage du traitement et ce même en procédural, le pattern MVC n'est pas seulement applicable en POO.

N.B : ton premier site ne laisse pas à penser que c'est un site développé en POO.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 10h55   #3
Membre actif
 
Homme Thomas Feron
Chef d'entreprise
Inscription : novembre 2010
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme Thomas Feron
Localisation : Belgique

Informations professionnelles :
Activité : Chef d'entreprise
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 94
Points : 164
Points : 164
Envoyer un message via Skype™ à tho.feron
Bonjour,

Faire de l'objet pour faire de l'objet est une bien mauvaise idée. Par contre, l'utilisation de Framework facilite la tâche de développement et de maintenance du code et ces derniers sont en général en objet.

En PHP, je ne connais pas vraiment les frameworks mais CakePHP et Symfony ont l'air populaire. (même si populaire ne veut pas dire efficace)

Cordialement,
Thomas Feron
tho.feron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 12h50   #4
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 620
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 620
Points : 1 470
Points : 1 470
je pense qu'il faut comprendre c'est quoi la POO? c'est quoi ses avantages et c'est quoi ses inconvénients? Maintenant pour ce qui est des framework il sont en général OO donc pour les comprendre il faut comprendre la POO.
je pense également qu'il faut prendre en compte le nombre de personnes qui participe au projet, la taille du projet lui même et plein d'autre paramètre en faveur ou en défaveur de la POO.

Maintenant si tu cherche du travail ou si tu lis les offres d'enplois pour dev PHP, on exige souvent de connaitre la POO avec PHP 5.
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin Franklin
L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin Franklin
Le hasard, c'est le déguisement que prend Dieu pour voyager incognito: Albert Einstein
bon je m'arrête là au risque de me faire buter
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 19h15   #5
Membre du Club
 
Inscription : août 2004
Messages : 386
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 386
Points : 68
Points : 68
Ok merci à tous

je vais essayer d'avancer sur la POO car je pense que malgré tout c est l'avenir.
mais c est pas évident d'avoir des exemples concrets sur la POO.

J ai déjà fait des recherches et ce sont plus des concepts que des cas concrets.

Bonne continuation

stephi
Stéph utilisateur d'acces est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 21h26   #6
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 304
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 304
Points : 4 482
Points : 4 482
Citation:
Envoyé par Stéph utilisateur d'acces Voir le message
Ok merci à tous

je vais essayer d'avancer sur la POO car je pense que malgré tout c est l'avenir.
mais c est pas évident d'avoir des exemples concrets sur la POO.

J ai déjà fait des recherches et ce sont plus des concepts que des cas concrets.

Bonne continuation

stephi
hum, pour moi la POO n'est pas "l'avenir" mais en fait partie tout comme cela fait partie du présent mais aussi du passé. la POO php ne date pas d'hier ou d'une semaine cela fait déjà quelques années que cela existe. l'expansion de cette dernière et comme l'indique les précédents participants à cette discussion la nature des projet, le nombre de participant, l'importance ainsi que la nature de ce dernier.

pour ce qui est des exemples il est certes difficile d'en donner de manière brut mais disons que sont utilité est principalement dans la réutilisation d'élément. le plus commun à mon sens serait la connexion à une base de données. elle est présente dans beaucoup de script et prend principalement toujours les même paramètre donc une classe de connexion serait un bonne exemple je pense de réutilisation et d'implémentation.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h27.


 
 
 
 
Partenaires

Hébergement Web