Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1636 connectés 

 


Pour ou contre du changement sur le topic ?


 
35.7 %
 5 votes
1.  Oui, faq / bonnes pratiques + blabla@php
 
 
0.0 %
        0 vote
2.  Oui, blabla@php uniquement
 
 
7.1 %
 1 vote
3.  Ce topic mérite la poubelle. Pauvre poubelle
 
 
21.4 %
 3 votes
4.  Non, ce topic reste tel quel
 
 
35.7 %
 5 votes
5.  Obiwan n'aime pas le php
 

Total : 16 votes (2 votes blancs)
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  47  48  49  50  51  52
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°1610791
leflos5
On est ou on est pas :)
Posté le 11-09-2007 à 22:22:08  profilanswer
 

Reprise du message précédent :

anapajari a écrit :

Je sais pas à qui est destiné ce gros paté leflos, mais grosso modo tu dis ce que je disais depuis le début: "page dynamique ça veut rien (ou tout) dire" [:w3c compliant]
 
Mais ce morceau de démonstration ne tient pas vraiment debout, dans la mesure ou je peux avoir une script php qui produit toujours le même résultat html ( juste un print), ou une page html qui n'affiche jamais la même chose ( suppression de noeud aléatoire sur le onload).


Si le code php génère un truc statique il faut se demander si on a fait le bon choix :??:
L'autre exemple se rapproche de cette appellation fourre tout de dhtml.
 
Rien de bien pas logique dans ça :)
 
Quand je dis entre 2 appels, c'est tout confondu, même entre 2 visiteurs, header envoyés, vérification de droits d'accès... Même si ça change pas au final entre 2 accès, il se passe d'autres choses :spamafote: Contrairement à un truc qui est pas généré dynamiquement ou modifié côté client.
 

TheRom_S a écrit :


cherchez l'erreur :lol:


 :whistle:  

mood
Publicité
Posté le 11-09-2007 à 22:22:08  profilanswer
 

n°1618662
bixibu
Ca ... c'est fait!
Posté le 03-10-2007 à 23:54:06  profilanswer
 

Question bonne pratique ou pas :
 
les __autoload(), ca vaux le coup ou pas?
 
Est ce que ca fou pas la merde dans certain cas?
Est ce que au bout d'un moment ca n'enleve pas de clareté au code au lieu d'un bon vieu require?
 
bref je vais tester, mais je suis pas convaincu

n°1618796
leflos5
On est ou on est pas :)
Posté le 04-10-2007 à 12:34:04  profilanswer
 

Ca fout pas la merde si c'est bien géré :spamafote:
 
PAr contre question clarté, en effet faut savoir se limiter à là où c'est vraiment nécessaire. D'autant que c'est pas le plus économique en ressources non plus.
 
Mon avis c'est que c'est une possibilité assez intéressante que t'offres php. Comme pour tout à utiliser quand c'est nécessaire. En gros si t'es capable de trouver le bon fichier à inclure dans le autoload, tu devrais pouvoir faire la même chose dans un factory :spamafote: Après ça dépend du type de codage de ton appli ;)

n°1618797
leflos5
On est ou on est pas :)
Posté le 04-10-2007 à 12:34:40  profilanswer
 

Il est plus intéressant de se servir des autres méthodes magiques AMHA

n°1624213
FlorentG
Unité de Masse
Posté le 15-10-2007 à 21:32:29  profilanswer
 

Je l'avais même pas vu ce topic [:dawak]


---------------
last.fmflickr
n°1624216
FlorentG
Unité de Masse
Posté le 15-10-2007 à 21:33:48  profilanswer
 

bixibu a écrit :

Question bonne pratique ou pas :
 
les __autoload(), ca vaux le coup ou pas?
 
Est ce que ca fou pas la merde dans certain cas?
Est ce que au bout d'un moment ca n'enleve pas de clareté au code au lieu d'un bon vieu require?
 
bref je vais tester, mais je suis pas convaincu


 
Y'a 10x mieux qu'__autoload, c'est spl_autoload_register. Qui permet entre autre d'utiliser une méthode d'instance comme fonction de chargement. On peux ainsi instancier un loader, le configurer et tout (genre pour définir des chemins où chercher des classes), et après l'enregistrer comme autoload :)


---------------
last.fmflickr
n°1624273
bixibu
Ca ... c'est fait!
Posté le 15-10-2007 à 22:34:43  profilanswer
 

oulalal ca m'a l'air bien compliqué tout ca aux vues de la doc et des exemples, mais je vais tenter de persévérer ^^


Message édité par bixibu le 15-10-2007 à 22:35:08
n°1624368
FlorentG
Unité de Masse
Posté le 16-10-2007 à 09:09:12  profilanswer
 

J'ai laissé un commentaire dans la doc de spl_autoload_register pour expliquer ce qu'on peut faire [:dawak] Sinon ça change pas grand chose à __autoload, genre :

Code :
  1. class ClassLoader {
  2.  
  3.  private $chemins;
  4.  
  5.  public function __construct($chemins)
  6.  {
  7.      $this->chemins = $chemins;
  8.  }
  9.  
  10.  public function load($className)
  11.  {
  12.     $fileName = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
  13.     foreach($this->chemins as $chemin)
  14.     {
  15.        if(is_readable($chemin . $fileName)) {
  16.          require $chemin . $fileName;
  17.          break;
  18.        }
  19.      }
  20.   }
  21. }
 

Et après :

Code :
  1. $loader = new ClassLoader(array(
  2.  'C:\www\', 'C:\php\lib\myFramework\', 'C:\autreDossier\'));
  3.  
  4. spl_autoload_register(array($loader, 'load'));
 

Et voilà [:dawa]


Message édité par FlorentG le 16-10-2007 à 09:09:25

---------------
last.fmflickr
n°1638185
NazzTazz
Profil: d'aile
Posté le 07-11-2007 à 13:16:03  profilanswer
 

Sinon, si ca peut interesser...
 
Une classe Entity ( inspiree par celle du bouquin "best practices PHP5" ) qui se sert de __call() pour gerer des accesseurs automatiquement:
 

Code :
  1. <?php
  2.  
  3. # Entity.class.php
  4. # ----------------
  5.  
  6. class EntityException extends Exception {};
  7.  
  8. /*
  9. *   Provides automatic accessors like getMyparam() or setNicevalue('foo');
  10. */
  11. abstract class Entity
  12. {
  13.  protected function set($prop, $val)
  14.  {
  15.    $this->$prop = $val;
  16.    return true;
  17.  }  
  18.  protected function get($prop)
  19.  {
  20.    return $this->$prop;
  21.  }  
  22.  public function __call($method, $params)
  23.  {
  24.    $type = substr($method, 0, 3);
  25.    $prop = strtolower(substr($method, 3));
  26.    $paramCount = count($params);    
  27.    if (property_exists($this, $prop)) {
  28.      switch ($type) {
  29.      case 'set':
  30.        $nb = 'exactly 1';
  31.        if ($paramCount === 1) return $this->set($prop, $params[0]);
  32.        break;
  33.      case 'get':
  34.        $nb = 'no';
  35.        if ($paramCount === 0) return $this->get($prop);
  36.        break;
  37.      default:  
  38.        throw new EntityException("Unknown method: $method" );
  39.      }
  40.      throw new EntityException("Invalid args count $method() takes $nb argument." );
  41.    } else {
  42.      throw new EntityException("Unknown property: $prop, $type() failed." );
  43.    }    
  44.  }
  45. }
  46. ?>


 
Et ca s'utilise comme ca:
 

Code :
  1. <?php
  2.  
  3. class Foo extends Entity {
  4.  var $bar;
  5.  var $baz;
  6. }
  7.  
  8. $foo = new Foo();
  9.  
  10. $foo->setBar('toto');
  11.  
  12. try {
  13.  
  14.  $foo->setQuux('aha');
  15.  
  16. }
  17. catch (EntityException $e)
  18. {
  19.  echo $e->getMessage();
  20. }
  21. ?>


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1647045
Martius
Pas stable
Posté le 22-11-2007 à 10:37:06  profilanswer
 

Masklinn a écrit :

* Pour les éditeurs sous nux, il y a Qanta si je ne me trompe pas. Tout le monde n'utilise pas VI ou Emacs ;)
 
(moi chuis pas sous nux, mais j'utilise Emacs sous Windows et sous OSX :o :o :o)


PDT, le plug-in Eclipse pour PHP est vraiment super pratique (facile à installer, Windows, linux, Mac ?), mais forcément, pas super simple à prendre en main, et il faut prévoir de la RAM ;)


Message édité par Martius le 22-11-2007 à 10:38:13

---------------
I own a realy hardcore ninja style
n°1649577
art_dupond
je suis neuneu... oui oui !!
Posté le 27-11-2007 à 13:20:59  profilanswer
 

yop yop,  j'aurais quelques pitites questions sans doute naïves :p
 
1. Est-ce mal d'utiliser des fonctions "imbriquées" :

Code :
  1. function A {}
  2. function B {A()}
  3. function C {B()}
  4. function D {C()}


 
2. Programmer en Objet "consomme"-t-il plus de mémoire parce qu'il faut garder tout l'objet en mémoire même si on n'utilise pas toutes ces méthodes (je ne sais pas si ça change quelque chose en fait :p)
 
3. Y a-t-il une limite raisonnable de constantes et de variables de session à avoir.
 
 
 :jap:  
 
 


---------------
oui oui
n°1650365
omega2
Posté le 28-11-2007 à 16:20:44  profilanswer
 

art_dupond a écrit :

yop yop,  j'aurais quelques pitites questions sans doute naïves :p
 
1. Est-ce mal d'utiliser des fonctions "imbriquées" :

Code :
  1. function A {}
  2. function B {A()}
  3. function C {B()}
  4. function D {C()}


 
2. Programmer en Objet "consomme"-t-il plus de mémoire parce qu'il faut garder tout l'objet en mémoire même si on n'utilise pas toutes ces méthodes (je ne sais pas si ça change quelque chose en fait :p)
 
3. Y a-t-il une limite raisonnable de constantes et de variables de session à avoir.
 
 
 :jap:  
 
 

1) non
2) oui, ne seraisse que la persistance des données (par exemple, avec des fonctions, si tu n'as plus besoin de l'age du capitaine, tu peux faire un "unset" sur la variable qui contient cette info, avec un objet, tant que t'as besoin du nom du capitaine, t'es obligé de te trainer son age, son identifiant, peut être même son salaire, s'il est marié et etc du moins tant que l'objet existe)
3) j'aurais tendance à dire oui : si t'as des milliers de variables dans ta session ou des milliers de constantes déclaré alors t'en as beaucoup trop. En pratique, t'auras jamais des milliers de constantes à moins d'avoir mal organiser ton code (toutes les constantes déclaré au même endroit même si une page n'est susceptible d'en utiliser que deux) quand aux sessions, si tu te contentes de n'y mettre que le nécessaire, alors tu n'atteindras jamais les milliers de valeurs sauf sur de très gros sites. Mais bon, pour les sessions, rechercher toutes les données peut prendre plus de temps que de les charger à chaque page par le biais de la session et il y a peu de chance que tu satures le serveur à cause de ces données là.
En bref, pour le moment ne te préoccupe pas de ça tant que tu ne t'amuses pas à y mettre des éléments inutile.

n°1650758
NazzTazz
Profil: d'aile
Posté le 29-11-2007 à 12:36:59  profilanswer
 

Allez, un ptit topo rapide pour utiliser les prepared statements avec mysqli.
 
Problématique:
 
On cherche a sécuriser les appels a notre base de données, l'écriture mysql_real_escape_string ou intval devient vite imbittable.
De plus, lors d'appels répétés d'une meme requete avec des parametres changeants, on perd un temps fou.
 
Avantages des P.S.:
 
Plus de real_escape_string, plus de intval qui trainent. On définit une seule fois pour la requete, les types des champs passés en parametres, on leur attache des variables, et on exécute.
 
Implé:

Code :
  1. <?php
  2.  
  3. $db = new MySqli($host, $login, $pass, $base);
  4.  
  5. $stmt = $db->prepare('INSERT INTO table (champ1, champ2, champ3) VALUES (?,?,?);');
  6.  
  7. # On veut par exemple champ1 en INT, champ2 et champ3 en VARCHAR
  8. # Les valeurs qu'on veut passer a la requete, sont dans un tableau tablo[].
  9.  
  10. $stmt->bind_param('iss', $tablo[0], $tablo[1], $tablo[2]);
  11.  
  12. $stmt->execute();
  13.  
  14. ?>


 
Pour les differents types de donnees, voir la doc: http://fr.php.net/manual/fr/functi [...] -param.php
 
Autre cas, imaginons qu'on veuille faire une moulinette qui lit un fichier CSV pour mettre les valeurs en base.
 

Code :
  1. <?php
  2.  
  3. $db = new MySqli($host, $login, $pass, $base);
  4.  
  5. $stmt = $db->prepare('INSERT INTO table (champ1, champ2, champ3) VALUES (?,?,?);');
  6.  
  7. $stmt->bind_param('iss', $data[0], $data[1], $data[2]);
  8.  
  9. $handle = fopen("test.csv", "r" );
  10. while (($data = fgetcsv($handle, 1000, "," )) !== FALSE) {
  11.    $stmt->execute();
  12. }
  13. $stmt->close();
  14. fclose($handle);
  15. $db->close();
  16. ?>


 
La seule instruction dans la boucle est le execute(), les parametres de la requete sont attachés aux valeurs du tableau $data.
 
 


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1650784
NazzTazz
Profil: d'aile
Posté le 29-11-2007 à 13:31:24  profilanswer
 

Un autre topo rapide sur la facon d'utiliser les include() proprement ( sans faille de sécu ) conjointement avec un url-rewriting de bon aloi.
 
La situation:
 
On a un controlleur général, index.php, qui fait toute une cuisine nécéssaire au fonctionnement de l'appli.
On veut passer en parametre, la page a afficher.
 
Typiquement, sans protection, ca fait une belle faille exploitable par un gamin de 10 ans:
 

Code :
  1. <?php
  2.  
  3. # plein de trucs
  4.  
  5. include($_GET['page'].'.php');
  6.  
  7. # encore des trucs
  8.  
  9. ?>


 
Deux exploits possibles ( entre autres ), sont index.php?page=./.htaccess%00 ou encore index.php?page=index qui va joliment faire planter php.
 
Pour sécuriser ca, une méthode simple consiste a énumerer les pages valides dans un tableau, et vérifier que le $_GET['page'] corresponde a un element:
 

Code :
  1. <?php
  2.  $pages_ok = array('accueil', 'categorie', 'produit');
  3.  
  4.  if (in_array($_GET['page'], $pages_ok)) {
  5.    include $_GET['page'].'.php';
  6.  } else {
  7.    header ('HTTP/1.1 404 Not Found');
  8.    die();
  9.  }
  10. ?>


 
Pour redonner une bonne tronche a nos url, on pourra utiliser un htaccess similaire a celui ci:
 

RewriteEngine on
 
RewriteRule ^([a-z-]+)$ index.php?page=$1 [QSA,L]


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1650785
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-11-2007 à 13:33:40  profilanswer
 

Pourquoi préferer mysqli à PDO?
Si je demande c'est que je ne vois aucune raison hein :o

n°1650786
NazzTazz
Profil: d'aile
Posté le 29-11-2007 à 13:37:30  profilanswer
 

aucune raison, mysqli et les ps fonctionnent, donc je documente brievement, perso j'utilise pas pdo, je suppose que c'est similaire.
 
Et pourquoi j'utilise mysqli plutot que pdo, ben euh, joker. J'ai découvert les ps avec mysqli, c'est resté, voila tout.


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1651767
art_dupond
je suis neuneu... oui oui !!
Posté le 02-12-2007 à 01:47:28  profilanswer
 


Oki merci beaucoup :jap:


Message édité par art_dupond le 02-12-2007 à 01:48:00

---------------
oui oui
n°1651784
Masklinn
í dag viðrar vel til loftárása
Posté le 02-12-2007 à 11:00:06  profilanswer
 

anapajari a écrit :

Pourquoi préferer mysqli à PDO?
Si je demande c'est que je ne vois aucune raison hein :o


Si je me plante pas, mysqli a des perfs légèrement supérieures à PDO


---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology
n°1652039
omega2
Posté le 03-12-2007 à 10:59:25  profilanswer
 

Masklinn > La différence de performance, elle serait pas du niveau de la micro-optimisation?

n°1652049
Masklinn
í dag viðrar vel til loftárása
Posté le 03-12-2007 à 11:14:27  profilanswer
 

omega2 a écrit :

Masklinn > La différence de performance, elle serait pas du niveau de la micro-optimisation?


Alors ça je peux pas te le dire, je me souviens juste avoir vu passer ça sur une paire de blogs


---------------
Being constantly subjected to something makes you somewhat immune to it, like Brits and misery. -- Craspology
n°1652106
NazzTazz
Profil: d'aile
Posté le 03-12-2007 à 12:15:33  profilanswer
 

Je ferai des bench dans la journee vu que ca a l'air de vous interesser


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1655576
leflos5
On est ou on est pas :)
Posté le 10-12-2007 à 00:32:32  profilanswer
 

NazzTazz a écrit :

Je ferai des bench dans la journee vu que ca a l'air de vous interesser


T'as les résultats ou ça tourne encore :o
 
:whistle:

n°1656074
tomsoft
Posté le 10-12-2007 à 18:14:01  profilanswer
 

ca a du planter :o

n°1656813
Harkonnen
Modérateur
SQL is evil
Posté le 11-12-2007 à 20:06:50  profilanswer
 

NazzTazz a écrit :


Spoiler :

Sinon, il me semble que l'auteur du topic est dans tes contacts, feignasse d'etron



ah bon ? on reçoit pas une notification pour ça ? [:pingouino]
j'y comprends plus rien au jocedoctiforum moi [:thalis]

n°1658690
Sh@rdar
Ex-PhPéteur
Posté le 15-12-2007 à 15:13:07  profilanswer
 

parce que tu y as déjà compris quelque chose ? :D
 
(drapal déguisé)

n°1698804
krifur
Posté le 07-03-2008 à 12:08:47  profilanswer
 

Citation :

Sinon, si ca peut interesser...
 
Une classe Entity ( inspiree par celle du bouquin "best practices PHP5" ) qui se sert de __call() pour gerer des accesseurs automatiquement:
(...)

 
 
EUhh mouii mais ca sert a quoi exactement ce bout de code, a prioris ca a un rapport pour gere les exceptions mais je comprends pas trop ?
 
merci

n°1698985
XaTriX
Now we are all sons of bitches
Posté le 07-03-2008 à 16:14:15  profilanswer
 

NazzTazz a écrit :

Sinon, si ca peut interesser...
 
Une classe Entity ( inspiree par celle du bouquin "best practices PHP5" ) qui se sert de __call() pour gerer des accesseurs automatiquement:
 


Ca m'a l'air cool :)
Juste faudrais que je sache ce que ça veut dire :o  
 
Recherche toujours bouquins (signature) :)
 
XaT


---------------
eargasm § • Topics JV Rage Nostalgie • Discu Expatriés Toulouse Ryanair
n°1698987
XaTriX
Now we are all sons of bitches
Posté le 07-03-2008 à 16:15:28  profilanswer
 

NazzTazz a écrit :

Un autre topo rapide sur la facon d'utiliser les include() proprement ( sans faille de sécu ) conjointement avec un url-rewriting de bon aloi.
 
La situation:
 
On a un controlleur général, index.php, qui fait toute une cuisine nécéssaire au fonctionnement de l'appli.
On veut passer en parametre, la page a afficher.
 
Typiquement, sans protection, ca fait une belle faille exploitable par un gamin de 10 ans:
 

Code :
  1. <?php
  2.  
  3. # plein de trucs
  4.  
  5. include($_GET['page'].'.php');
  6.  
  7. # encore des trucs
  8.  
  9. ?>


 
Deux exploits possibles ( entre autres ), sont index.php?page=./.htaccess%00 ou encore index.php?page=index qui va joliment faire planter php.
 
Pour sécuriser ca, une méthode simple consiste a énumerer les pages valides dans un tableau, et vérifier que le $_GET['page'] corresponde a un element:
 

Code :
  1. <?php
  2.  $pages_ok = array('accueil', 'categorie', 'produit');
  3.  
  4.  if (in_array($_GET['page'], $pages_ok)) {
  5.    include $_GET['page'].'.php';
  6.  } else {
  7.    header ('HTTP/1.1 404 Not Found');
  8.    die();
  9.  }
  10. ?>


 
Pour redonner une bonne tronche a nos url, on pourra utiliser un htaccess similaire a celui ci:
 

RewriteEngine on
 
RewriteRule ^([a-z-]+)$ index.php?page=$1 [QSA,L]



 :jap:  :jap:  :jap:


---------------
eargasm § • Topics JV Rage Nostalgie • Discu Expatriés Toulouse Ryanair
n°1699421
NazzTazz
Profil: d'aile
Posté le 09-03-2008 à 00:44:56  profilanswer
 

up ( sondage )
 
Je répondrai aux questions sur Entity demain.
 
Au passage, pourquoi le topic de dé-sticky-ise quand je l'edite ?


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1699437
XaTriX
Now we are all sons of bitches
Posté le 09-03-2008 à 09:43:25  profilanswer
 

Rapide topo sur : %B %d, %Y, %I:%M:%S %p
 
Pour par exemple 12/24H etc ?
 
XaT


---------------
eargasm § • Topics JV Rage Nostalgie • Discu Expatriés Toulouse Ryanair
n°1700806
NazzTazz
Profil: d'aile
Posté le 12-03-2008 à 05:59:25  profilanswer
 

Bon, avec un peu de retard je reponds aux questions sur Entity.
 
@krifur: Non, ca n'a pas de rapport avec les exceptions. Enfin, la classe leve des exceptions oui, mais seulement parce que c'est une facon propre de remonter les erreurs.
 
@XaT: A quoi qu'ça sert, j'explique.
 
Quand tu travailles avec des objets, il est de bon ton de réduire la portée de tes variables de classe.
 
Genre:
 

Code :
  1. <?php
  2.  class Vehicule
  3.  {
  4.    public $modele;
  5.    public $marque;
  6.  }
  7. ?>


 
C'est pas bien de faire ca. Pourquoi ?
 
La réponse courte: ca viole le principe d'encapsulation.
La réponse longue: Quand tu utilises un objet, tu ne dois pas avoir a savoir comment il fonctionne ( principe de boite noire ). Tu as une interface pour acceder aux données ( les accesseurs ), peu importe de ton coté si les données sont stockées dans des variables, dans les cases d'un tableau ou autre. Si un jour le développeur de la classe que tu utilises change sa maniere de stocker les données, tu l'auras dans le cul, a moins que tu passes par les accesseurs prévus a cet effet.
 
Les accesseurs, c'est betement ( je simplifie ) un couple de méthodes par variable de classe:
 
getLaVariable() et setLaVariable();
 
du coup, la classe vehicule de d'taleur, elle devient ca:
 
 

Code :
  1. <?php
  2.  class Vehicule
  3.  {
  4.    private $modele;
  5.    private $marque;
  6.  
  7.    public function getModele()
  8.    {
  9.      return $this->modele;
  10.    }
  11.    
  12.    public function setModele($modele)
  13.    {
  14.      $this->modele = $modele;
  15.    }
  16.  
  17.    public function getMarque()
  18.    {
  19.      return $this->marque;
  20.    }
  21.  
  22.    public function setMarque($marque)
  23.    {
  24.        $this->marque = $marque;
  25.    }
  26.  }
  27. ?>


 
Le truc c'est que c'est relou a ecrire, ces foutus accesseurs. Quand t'as 10 variables de classe, t'as 20 accesseurs...
 
Donc on s'arrange pour déléguer la gestion des accesseurs a une autre classe, par heritage.
 
L'heritage, en tres gros, c'est dire qu'une classe dérive d'une autre, en quelque sorte qu'elle est une version spécialisée d'une autre classe.
 
Du coup la classe 'A' qui herite de la classe 'B' peut utiliser les methodes publiques et protégées de 'B' comme si elles lui appartenaient.
 
notre classe Vehicule devient ca:
 
 

Code :
  1. <?php
  2.  class Vehicule extends Entity
  3.  {
  4.    protected $modele;
  5.    protected $marque;
  6.  }
  7. ?>


 
Un mécanisme spécial codé dans Entity lui permet d' "attraper" les appels de methode qui commencent par "get" ou "set". On émule en quelque sorte la présence d'accesseurs pour toutes nos variables.
 
Comme Vehicule hérite d'Entity, vehicule herite aussi de ce comportement.
 
Le passage de "private" a "protected" est nécéssaire pour que les methodes de Entity puissent acceder aux variables de Vehicule.
 
L'avantage, c'est de d'automatiser la creation des accesseurs pour tes classes. Apres, tu peux faire sans, mais perso, eviter de taper des centaines de lignes de code, j'approuve :jap:


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1704635
Elmoricq
Modérateur
Posté le 19-03-2008 à 14:22:44  profilanswer
 

Menage fait. [:elmoricq]
 
Masklinn, je me suis permis d'effacer ta reponse a NazzTazz sur Entity, je te laisse en refaire une argumentee qui servira aux lecteurs de cette FAQ, si tu t'en sens l'envie. [:romf]


---------------
Blacker than a moonless night, hotter and more bitter than hell itself... That is coffee.
n°1708026
NazzTazz
Profil: d'aile
Posté le 26-03-2008 à 14:05:15  profilanswer
 

Bon, conformément aux résultats du sondage, le topic a été élargi a un blabla@php.
 
Ca evitera au modalfachal d'avoir a faire le menage toutes les semaines, et ca permettra aux gens de discuter plus librement /obviousproof.


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1708245
XaTriX
Now we are all sons of bitches
Posté le 26-03-2008 à 16:52:08  profilanswer
 

cool  [:dawao]

 


XaT


Message édité par XaTriX le 26-03-2008 à 16:52:21

---------------
eargasm § • Topics JV Rage Nostalgie • Discu Expatriés Toulouse Ryanair
n°1708248
skeye
Posté le 26-03-2008 à 16:59:50  profilanswer
 

On a pas déjà blabla@web pour se foutre de la gueule de php?[:petrus dei]


---------------
Can't buy what I want because it's free -
n°1708249
bixibu
Ca ... c'est fait!
Posté le 26-03-2008 à 17:00:44  profilanswer
 

cay nul.. ya déjà blabla@web qui suffit..
 
en venant sur ce topic j'esperais y trouver que de bonnes pratiques avancées de PHP niveau GURU.. pas pleins de nioubs (dont je fait parti) qui  poluent 90% des messages en demandant toujours la meme chose..
 
une sorte de bible de PHP quoi
 
domage :(

n°1708252
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2008 à 17:09:31  profilanswer
 

pit-etre mettre ce topic en lien ?
 
http://forum.hardware.fr/hfr/Progr [...] 1273_1.htm


---------------
oui oui
n°1708259
skeye
Posté le 26-03-2008 à 17:13:32  profilanswer
 


je suis aps hyper fan de celui-ci, perso.[:joce]


---------------
Can't buy what I want because it's free -
n°1708261
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2008 à 17:14:27  profilanswer
 

pit-etre mais il a des liens vers au moins un topic dont tu es fan :o


---------------
oui oui
n°1709736
NazzTazz
Profil: d'aile
Posté le 29-03-2008 à 19:16:11  profilanswer
 

bixibu a écrit :

cay nul.. ya déjà blabla@web qui suffit..
 
en venant sur ce topic j'esperais y trouver que de bonnes pratiques avancées de PHP niveau GURU.. pas pleins de nioubs (dont je fait parti) qui  poluent 90% des messages en demandant toujours la meme chose..
 
une sorte de bible de PHP quoi
 
domage :(


 
[:sadnoir]


---------------
I'm smart enough to know that I'm dumb. - Livres d'occase
n°1723873
hppp
Serveur@home
Posté le 24-04-2008 à 16:20:25  profilanswer
 

flo850 a écrit :


 
a ce moment là , dans ta fonction query , tu inclues la gestion des erreur ( écriture dans un fichier texte par exemple ) . Pour le nom des variables, j'utilise rsProducts pour les result set contenant mes produits  
 
pour le tableau ,je garde le tableau "extérieur" , vu qu'il s'agit bien de données tabulaires
 
mais a l'intérieur de la case quantité, je vais mettre les images + et - en float:right  et ça suffira.
 
et tu devrai revoir le découpage comme on te l'a dit un peu plus haut . Ca va te prendre 2 heures a faire, mais ton code sera mille fois plus clair. Concrètement, si dans un même ficheir tu as du HTML et du SQL c'est que tu mélange la logique metier et l'affichage


 
Donc en gros il faut avoir d'un coté les fichiers avec le mysql et le php et d'un autre l'affichage en HTML et CSS?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  47  48  49  50  51  52

Aller à :
Ajouter une réponse
 

Sujets relatifs
Problème pour une mise en page sous forme de tableauAfficher sur une page web directement le resultat d'une autre page web
[PHP] Fonction include plus rapide qu'un bout de code dans la page ?Ouvrir un fichier HTML en fin de page
[Résolu] Expirer la cache au niveau de la pageexecuter une page php sans rien afficher
inserer dans ma page wikiControler le changement de page
Certificat SSL a valider pour chaque élément de pageinstallé un mdp sur une page web avec Namo
Plus de sujets relatifs à : blabla@php | faq et bonnes pratiques page 1


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware