Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Vos techniques pour le développement de sites en PHP > Lecture du sujet

Vos techniques pour le développement de sites en PHP

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  6  7  8  9 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  6  7  8  9 
Hors ligne Tracker # Posté le 24/09/2008 à 22:17:54
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
C'est quoi au juste le but de la discussion ? ou de ce type de discussion ?

Pour qu'un élément soit réutilisable, (sans copier salement son code à chaque coup), il doit présenter des méthodes/propriétés mais également des événements (pour prévenir l'extérieur) et doit pourvoir lever des exceptions, c'est la base. Des langages code C# intègrent nativement ces notions. D'autre ne vont pas aussi loin, mais permettent de coder ce principe (Java, php, etc...). Je suis pas certain que microsoft ait mis 10 ans à redévelopper une plateforme (.Net) pour emmancher des mouches.

Dans le message précédent je disais "Franchir le pas" car c'est bien la contrainte. Chaque développeur peine à penser objet par habitude du procédurale. Tu ne penses que n'objet soit le chemin à suivre, peut-être... seulement je ne vois pas pourquoi le procédurale, qui en passant est une sous-partie du dev objet, le serait d'avantage.


Tracker.
Édité le 24/09/2008 à 23:00:10 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne anonyme # Posté le 24/09/2008 à 22:32:06
Groupe :
Citation : Tracker
C'est quoi au juste le but de la discussion ? ou de ce type de discussion ?

Aucune idée, c'est juste que je ne peux m'empêcher de ne pas être d'accord quand on présente l'orienté objet comme the truc à utiliser absolument.

Citation : Tracker
Pour qu'un élément soit réutilisable, (sans copier salement son code à chaque coup), il doit présenter des méthodes/propriétés mais également des événements (pour prévenir l'extérieur) et doit pourvoir lever des exceptions, c'est la base. Des langages code C# intègrent nativement ces notions. D'autre ne vont pas aussi loin, mais permettent de coder ce principe (Java, php, etc...). Je suis pas certain que microsoft ait mis 10 ans à redévelopper une plateforme (.Net) pour emmancher des mouches.

Des fonctions sont aussi réutilisables que des classes pour autant qu'elles soient bien faites, comme pour les classes quoi. Evidemment si on commence à mettre des global dans tous les sens, qu'on abstrait rien, il n'est pas étonnant que rien ne soit réutilisable.
Pour la gestion des erreurs, on peut passer par la valeur de retour de la fonction, par des indicateurs dans les structures passées en paramètres ou encore par le contexte.
C'est un brin plus lourd que les exceptions, je suis d'accord, mais ce n'est pas avec juste ça que je dirai qu'un truc est mieux que l'autre. D'ailleurs je ne vois pas ce qui empêche d'implementer ce mécanisme en impératif.
Pour les évènements, ça peut s'implémenter en impératif, GTK+ en C par exemple.

Citation : Tracker
Dans le message précédent je disais "Franchir le pas" car c'est bein la contrainte. Chaque développeur peine à penser objet par habitude du procédurale. Tu ne penses que n'objet n'est pas le chemin à suivre, à peut-être... seulement je ne vois pas pourquoi le procédurale, qui en passant est une sous-partie du dev objet, le serait d'avantage.

Je n'ai pas dit que l'impératif était plus le chemin à suivre que l'orienté objet.
Hors ligne Lulin # Posté le 24/09/2008 à 22:37:44
Zéro V. Alpha
Avatar
Groupe : Membres
Je suis assez bien de l'avis d'Haku ;)

L'OO a la côte, mais je pense qu'on en fait trop par rapport à une prétendue sémantique que ne connaîtrait pas la procédurale.

Personnellement, j'utilise une sorte de mini framework (tout de code) type en procédural et j'arrive petit à petit à tenir un bon rythme, sans que je ne doive bricoler des classes. Et ça me plaît bien comme ça.

Coder proprement et efficacement en procédural, c'est tout aussi possible qu'en OO.
 
Hors ligne Tracker # Posté le 24/09/2008 à 22:47:08
Avatar
Groupe : Membres
On se comprend pas, parce qu'on n'a pas les mêmes repères.

Imagine, tu cherches à te réveiller le matin. Tu vas au supermarché, et tu achètes un réveil:
- Une merveille il se branche à la prise (interfaçable/interopérable).
- Tu peux lire l'heure, la régler (interrogeable/actionable -> méthode/propriété).
- Il sonne, génial tu te reveilles (évènements).
- Tu l'utilises sans l'avoir conçu, et sans en comprendre la complexité (réutilisabilité)

Un objet est pratique, universel, intuitif. C'est un besoin élémentaire même dans notre quotidien, en info il est totalement simulable (à quelques détails) par des fonctions/structures, mais pour quoi faire ?? alors qu'on a déjà une syntaxe permettant d'en exprimer tout le sens ...

Bref...
Tracker.
Édité le 25/09/2008 à 01:11:35 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne TimeSplitters # Posté le 25/09/2008 à 15:43:00
Avatar
Groupe : Membres
Comme le dit `Haku, tout ce que tu dis ici est faisable dans le procédural. Des fonctions bien codées et non seulement ton code est réutilisable, mais il est aussi bien plus léger que en OO.

Va bien falloir refuser la mode, c'est bien de suivre les tendances mais si on ne se donne pas d'opinion dessus, on devient des pigeons. Faut savoir réfléchir un peu quoi.
 
Hors ligne Tracker # Posté le 25/09/2008 à 17:13:47
Avatar
Groupe : Membres
Mais vous êtes légèrement à côté de la plaque, ça va faire 10 ans je fais du dev web (intra/extranet) et ça a toujours pris place dans un contexte objet:
- de 1999 à 2002, ASP + COM (c++/vb)
- de 2003 à 2005, Java/J2EE. + struts
et depuis PHP 4/5... (en passant vite fait par .Net)

Faudrait, à un moment, enlever vos cagoules et regarder ce qui se passe à côté...
Le truc c'est que le seul contexte que tu connais c'est PHP et l'impératif/procédural, ce qui te permet de juger...
:waw:

Cependant je suis complètement d'accord avec ta conclusion :-°

Tracker.
Édité le 25/09/2008 à 17:59:39 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne TimeSplitters # Posté le 25/09/2008 à 18:03:59
Avatar
Groupe : Membres
Au moins un point commun, même si je suis persuadé que le sens que tu en tires est opposé au nôtre :-°
 
Hors ligne metalking # Posté le 25/09/2008 à 22:42:40
Knowledge is Power
Avatar
Groupe : Membres
J'ai lu toute la dernière partie de la discussion et je dois dire que je suis plutôt de l'avis de Tracker. Il est vrai que mon jugement a bien peu de valeur étant donné que ça ne fait que 5-6 ans que je dev web et que je n'ai touché qu'au PHP et à un peu de C++.
Mais ça a été une telle révolution pour moi quand je suis passé à l'OO que je ne peux m'empêcher de penser qu'on peut en tirer de nombreux avantages. Tracker en a cités plusieurs d'une manière remarquable

+1 pour Tracker, donc.

A+
 
Hors ligne black17 # Posté le 25/09/2008 à 23:05:22
Avatar
Groupe : Membres
Je pense qu'il vaut mieux arrêter le débat maintenant car cela tourne en rond.
Les 2 méthodes ont leurs avantages et inconvénients donc au codeur d'en décider.
Hors ligne Jeremie64 # Posté le 25/09/2008 à 23:16:43
Get over it !
Avatar
Groupe : Membres
Citation : black17
Je pense qu'il vaut mieux arrêter le débat maintenant car cela tourne en rond.
Les 2 méthodes ont leurs avantages et inconvénients donc au codeur d'en décider.

C'est bien écrit dans le titre: Vos techniques pour le développement de sites en PHP.

Or, l'OO est une technique tout comme le procédural, et peu très bien faire partie intégrante du sujet.De plus, c'est avec ce genre de débat qu'on fait avancer les choses, ça permet justement de connaître les avantages/inconvénients des 2 méthodes.

Bye


Coding is more than a job, more than hobby, more than activity, it's a lifestyle !

PHP is a powerful programming language, if you know how to use it...



 
Hors ligne Guillink # Posté le 26/09/2008 à 03:45:25
Avatar
Groupe : Membres
Citation : TimeSplitters
Comme le dit `Haku, tout ce que tu dis ici est faisable dans le procédural. Des fonctions bien codées et non seulement ton code est réutilisable, mais il est aussi bien plus léger que en OO.


Bonsoir,

Perso, je ne pense que rien ne vaut l'exemple (ou plutôt le contre-exemple ici)

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
/* Exécute une requête préparée en passant un tableau de valeurs */
$sql = 'SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

$sth->execute(array(':calories' => 150, ':couleur' => 'red'));
$red = $sth->fetchAll();

$sth->execute(array('calories' => 175, 'couleur' => 'yellow'));
$yellow = $sth->fetchAll();
?>


Tu penses franchement qu'on peut faire aussi pratique (et aussi léger) en procédural ? Moi non.
Édité le 26/09/2008 à 03:45:48 par Guillink
Hors ligne Lulin # Posté le 26/09/2008 à 13:13:45
Zéro V. Alpha
Avatar
Groupe : Membres
Citation : Guillink
Citation : TimeSplitters
Comme le dit `Haku, tout ce que tu dis ici est faisable dans le procédural. Des fonctions bien codées et non seulement ton code est réutilisable, mais il est aussi bien plus léger que en OO.


Bonsoir,

Perso, je ne pense que rien ne vaut l'exemple (ou plutôt le contre-exemple ici)

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
/* Exécute une requête préparée en passant un tableau de valeurs */
$sql = 'SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

$sth->execute(array(':calories' => 150, ':couleur' => 'red'));
$red = $sth->fetchAll();

$sth->execute(array('calories' => 175, 'couleur' => 'yellow'));
$yellow = $sth->fetchAll();
?>


Tu penses franchement qu'on peut faire aussi pratique (et aussi léger) en procédural ? Moi non.

Je vois pas spécialement ce qu'on ne puisse pas faire tout aussi rapidement et efficacement en procédural.

Une fonction bien faite, avec gestion des requêtes sql, et incluant des tableaux éventuellement.
 
Hors ligne TimeSplitters # Posté le 26/09/2008 à 17:00:19
Avatar
Groupe : Membres
Si j'ai bien compris le code de Guillink, il s'agit de donner une valeur variable aux champs dans le SELECT. Dans ce cas, une simple condition et l'affaire est bouclée.
 
Hors ligne anonyme # Posté le 26/09/2008 à 17:15:20
Groupe :
Citation : Guillink
Tu penses franchement qu'on peut faire aussi pratique (et aussi léger) en procédural ? Moi non.

Trop difficile :
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?php

/* Exécute une requête préparée en passant un tableau de valeurs */
$query = 'SELECT nom, couleur, calories FROM fruit WHERE calories < :calories AND couleur = :couleur';
$sth = dbPrepare($query, array(DB_ATTR_CURSOR => DB_CURSOR_FWDONLY));

$truc = dbExecute($sth, array(':calories' => 150, ':couleur' => 'red'));
$red = dbFetchAll($truc);

$bidule = dbExecute($sth, array('calories' => 175, 'couleur' => 'yellow'));
$yellow = dbFetchAll($bidule);

?>
Hors ligne Talus # Posté le 26/09/2008 à 18:43:12
タルス
Avatar
Groupe : Membres
Oui, mais... Tu utilises quand même de l'OO, via les constantes DB::MACHIN... (Et aussi, trop redondant, de devoir se faire chier à passer en parametre les "ressources"...)
Édité le 26/09/2008 à 18:43:47 par Talus
 
Hors ligne anonyme # Posté le 26/09/2008 à 20:14:12
Groupe :
Juste, j'avais oublié de changer :: en _.
On ne passe pas des ressources, mais des array, ou des structures.
Et puis $sth->machin() ou machin($sth), j'ai du mal à voir la différence. Par ailleurs ne pas vouloir taper quatre caractères, ça n'est même plus de la fainéantise.
Hors ligne Tracker # Posté le 27/09/2008 à 07:31:13
Avatar
Groupe : Membres
Ton contre exemple est plutôt amusant, tu montres effectivement que tu peux utiliser une réflexion objet dans un contexte de développement impératif. La question qui va suivre est logique: pourquoi utiliser une syntaxe inadaptée t'interdisant l'héritage/polymorphisme et la validation de type ?


Tracker.
Édité le 29/09/2008 à 00:18:52 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne henneqxp # Posté le 11/10/2008 à 23:12:05
Avatar
Groupe : Membres
S'il vous plaît, est-ce qu'il y a quelqu'un qui pourrait m'aider à mettre en place l'arborescence de mon site ? :euh: Merci ! ;)

Image utilisateur
Image utilisateur
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 127 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0348s (0.0193s)