Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2780 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  18  19  20  ..  62  63  64  65  66  67
Auteur Sujet :

Model View Controller (MVC) - Architecture des applications PHP

n°1538451
skeye
Posté le 04-04-2007 à 15:39:16  profilanswer
 

Reprise du message précédent :
Dans la pratique, ton instance de Stock va être initialisée en faisant appel à la méthode statique de la classe Voiture, et à-partir de là elle fait sa tambouille toute seule.
Mais à-partir du moment où elle lit ou met à jour des infos concernant des voitures, elle doit passer par la classe Voiture.


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 04-04-2007 à 15:39:16  profilanswer
 

n°1538452
skeye
Posté le 04-04-2007 à 15:41:40  profilanswer
 

Djebel1 a écrit :

Bah oui, la classe Stock va interroger la classe qui gère les accès aux données, qui va lui retourner une collection d'objets voiture. Qu'est-ce qui n'est pas valable là-dedans ?


Ah non.[:pingouino]
Non de non de non.[:pingouino]
Alors maintenant c'est la fête du slip, la couche d'accès aux données instancie des objets du modèle...[:pingouino]


Message édité par skeye le 04-04-2007 à 15:41:56

---------------
Can't buy what I want because it's free -
n°1538455
Djebel1
Nul professionnel
Posté le 04-04-2007 à 15:46:28  profilanswer
 

Bah moi je verrai plutôt un truc comme ça :  

Code :
  1. class Voiture
  2. {
  3.     public $marque;
  4.     public $modele;
  5.     public $couleur;
  6.     public $prix
  7.     ...
  8. }
  9. class Stock
  10. {
  11.     public function getPeugeotDispo()
  12.     {
  13.         $arrVoiture = array();
  14.         $x = 0;
  15.         $rs = mysql_query('select * from voiture where marque = "peugeot" and dispo = 1');
  16.         while ($data = blablabla fetch_array($rs))
  17.         {
  18.              $arrVoiture[$x] = new Voiture;
  19.              $arrVoiture[$x]->prix = $data['prix'];
  20.              $arrVoiture[$x]->couleur = $data['couleur'];
  21.              ...
  22.         }
  23.    
  24.     }
  25. }


 
Code de merde à la va vite mais ça exprime mon idée quoi. Ca me semble plutôt logique.


Message édité par Djebel1 le 04-04-2007 à 15:47:01
n°1538457
skeye
Posté le 04-04-2007 à 15:48:59  profilanswer
 

ah oui, donc t'as pas vraiment de couche d'accès aux données, donc.[:joce]
Attends, je te donne ma version...


---------------
Can't buy what I want because it's free -
n°1538458
Djebel1
Nul professionnel
Posté le 04-04-2007 à 15:50:59  profilanswer
 

j'ai dit exemple à la va-vite, j'ai bien sur une couche d'accès aux données dans mes applis ^^
mais ton exemple m'intéresse grandement, j'ai l'impression que j'ai un pbl avec ta définition de ce que doit faire une classe.


Message édité par Djebel1 le 04-04-2007 à 15:51:39
n°1538460
masklinn
í dag viðrar vel til loftárása
Posté le 04-04-2007 à 15:57:08  profilanswer
 

skeye a écrit :

Pour reprendre ton exemple, ce sont des infos sur les voitures, qu'il lui faut, quand même, à ta classe stock...elle va faire comment, pour les obtenir, elle va demander elle-même à la base de données ou à la classe qui gère les accès aux données? Ou alors elle demande poliment à la classe Voiture de bien vouloir lui fournir les infos qui la concernent?


IMO les deux sont valables tant que le truc est correctement découplé (genre en utilisant un pattern type observer pour l'écoute de la création des voitures dans le schéma que tu proposes, afin que la classe stock reçoive des updates venant de diverses sources de modifications de stocks et que d'autres classes que celle de la gestion de stock puissent souscrire à des informations sur la création de voitures)

skeye a écrit :

Ca ne veut rien dire, ça.[:pingouino]
C'est une méthode statique, tu ne l'utilises pas avec une instance de ton objet, mais avec l'objet lui-même.[:pingouino]


Avec la classe de l'objet [:aloy]  
 
Enfin il me semble qu'en Java ça ne pose aucun problème d'appeler une méthode statique depuis une instance, c'est juste pas des plus utile :o

skeye a écrit :

Dans la pratique, ton instance de Stock va être initialisée en faisant appel à la méthode statique de la classe Voiture, et à-partir de là elle fait sa tambouille toute seule.


Ah non sûrement pas, les deux classes sont totalement indépendantes :fou:


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1538463
Djebel1
Nul professionnel
Posté le 04-04-2007 à 16:05:22  profilanswer
 

Et donc Masklinn, tu confirmes que j'ai tord dans mon approche ?

n°1538465
skeye
Posté le 04-04-2007 à 16:07:23  profilanswer
 

Bon, noms à la con, hein.:D
 

Code :
  1. class VoitureDataLoader extends MysqlDataLoader{
  2.  
  3.  private function execSql($query){
  4.    $rs = mysql_query($query);
  5.    
  6.    $nbCol = mysql_jesaispasquoiquiretournelenombredecolonnes($rs);
  7.  
  8.    while ($data = mysql_fetch_array($rs))
  9.      {
  10.     $i=0;
  11.     while($i<$nbCol){
  12.       $arrVoiture[$x][$mysql_donne_moi_le_nom_de_la_col($i)] = $data[$i];
  13.       $i++;
  14.     }
  15.      }
  16.  }
  17.  
  18.  
  19.  public function getDispo($marque){
  20.    return $this->runSQL("select * from voiture where marque = '".$marque." and dispo = 1" );
  21.  }
  22. }
  23.  
  24.  
  25. class Voiture
  26. {
  27.    public $marque;
  28.    public $modele;
  29.    public $couleur;
  30.    public $prix
  31.    
  32.    //tu vois le principe pour l'init...
  33.  
  34.  
  35.    public static getDispo($marque){
  36.      $vl = new VoitureDataLoader();
  37.      $data = $vl->getDispo($marque);
  38.      $result = array();
  39.      foreach($data as $key=>$val){
  40.     $result[] = new Voiture($val['marque'], $val['modele'], ...);
  41.      }
  42.    }
  43.    
  44. }
  45.  
  46. class Stock
  47. {
  48.  private $stockDispo;
  49.  
  50.  function __construct($marque){
  51.    $this->stockDispo = Voiture::getDispo($marque);
  52.  }
  53.  
  54. }


---------------
Can't buy what I want because it's free -
n°1538468
masklinn
í dag viðrar vel til loftárása
Posté le 04-04-2007 à 16:10:10  profilanswer
 

Djebel1 a écrit :

Et donc Masklinn, tu confirmes que j'ai tord dans mon approche ?


Ouais, ton gestionnaire de stocks "sait" beaucoup trop de choses sur tes voitures

 

skeye > han t'as même pas fait une CarFactory, t'es trop naze :o

Message cité 2 fois
Message édité par masklinn le 04-04-2007 à 16:11:20

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1538470
skeye
Posté le 04-04-2007 à 16:13:02  profilanswer
 

masklinn a écrit :

Ouais, ton gestionnaire de stocks "sait" beaucoup trop de choses sur tes voitures
 
skeye > han t'as même pas fait une CarFactory, t'es trop naze :o


 
J'ai pas encore reçu mon GOF.[:petrus75]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 04-04-2007 à 16:13:02  profilanswer
 

n°1538471
skeye
Posté le 04-04-2007 à 16:13:56  profilanswer
 

(et ma fonction execSql elle est dans MysqlDataLoader, d'ailleurs.[:joce])


Message édité par skeye le 04-04-2007 à 16:14:01

---------------
Can't buy what I want because it's free -
n°1538472
_synapse_
Posté le 04-04-2007 à 16:14:55  profilanswer
 

:pt1cable:  J'espère que vous n'avez pas des délais à respecter si c'est votre boulot de faire du développement php, parce que autant je trouve normal de séparer le code de la présentation etc... autant réinventer le c++ en plus crado avec le php et discuter 107 ans sur comment faire ceci ou celà, je me fais trucider sur place :o

n°1538473
skeye
Posté le 04-04-2007 à 16:15:35  profilanswer
 

_synapse_ a écrit :

:pt1cable:  J'espère que vous n'avez pas des délais à respecter si c'est votre boulot de faire du développement php, parce que autant je trouve normal de séparer le code de la présentation etc... autant réinventer le c++ en plus crado avec le php et discuter 107 ans sur comment faire ceci ou celà, je me fais trucider sur place :o


C'est mon boulot et j'ai des délais à respecter, justement.[:dawa]


---------------
Can't buy what I want because it's free -
n°1538477
_synapse_
Posté le 04-04-2007 à 16:18:25  profilanswer
 

skeye a écrit :

C'est mon boulot et j'ai des délais à respecter, justement.[:dawa]


 
Ben sérieusement je vois pas comment tu fais, moi tout ce qu'on me demande c'est de torcher un site le plus rapidement possible, ensuite et effectivement ce n'est pas forcément bien, mais on me demande pas "de faire du style", seulement que ca marche :o

n°1538478
Djebel1
Nul professionnel
Posté le 04-04-2007 à 16:19:33  profilanswer
 

Bon d'après vos dires, corrigez moi si je me trompe, mais je devrais faire une plus grande distinction entre une classe et un objet dans mon pti esprit :  
 
un objet voiture ne connaît pas les autres voitures (un peu comme je disais précédemment),  
MAIS la classe Voiture est tout à fait habilitée à traiter des collections de voiture ?

n°1538481
skeye
Posté le 04-04-2007 à 16:21:36  profilanswer
 

_synapse_ a écrit :

Ben sérieusement je vois pas comment tu fais, moi tout ce qu'on me demande c'est de torcher un site le plus rapidement possible, ensuite et effectivement ce n'est pas forcément bien, mais on me demande pas "de faire du style", seulement que ca marche :o


La différence c'est probablement que c'est moi qui me tape toute la maintenance derrière.
Et je n'ai pas appliqué ces principes dans tout ce que je fais (déjà quand j'ai commencé je connaissais pas...[:joce]), hein, me fais pas dire ce que je n'ai pas dit...mais c'est seulement parce-que je n'ai pas le temps de tout reprendre à zéro.:o


---------------
Can't buy what I want because it's free -
n°1538482
skeye
Posté le 04-04-2007 à 16:22:37  profilanswer
 

Djebel1 a écrit :

Bon d'après vos dires, corrigez moi si je me trompe, mais je devrais faire une plus grande distinction entre une classe et un objet dans mon pti esprit :  
 
un objet voiture ne connaît pas les autres voitures (un peu comme je disais précédemment),  
MAIS la classe Voiture est tout à fait habilitée à traiter des collections de voiture ?


 
On dit instance d'objet et classe d'objet.:D


---------------
Can't buy what I want because it's free -
n°1538487
masklinn
í dag viðrar vel til loftárása
Posté le 04-04-2007 à 16:30:54  profilanswer
 

skeye a écrit :

On dit instance d'objet et classe d'objet.:D


Bof, dans les langages à métaobjets, les classes sont aussi des instances :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1538489
Djebel1
Nul professionnel
Posté le 04-04-2007 à 16:39:15  profilanswer
 

Ouais enfin sans discuter du terme employé, c'est bien ça ou pas ? :p

n°1538495
skeye
Posté le 04-04-2007 à 16:53:02  profilanswer
 

masklinn> taggle.[:dawao]
 

Djebel1 a écrit :

Ouais enfin sans discuter du terme employé, c'est bien ça ou pas ? :p


En gros, oui. Si on parle d'une instance de Voiture, c'est pas logique qu'elle aille chercher des infos concernant d'autres instances de Voitures, a priori.
Mais la classe Voiture, elle, est là pour ça...


---------------
Can't buy what I want because it's free -
n°1538511
Djebel1
Nul professionnel
Posté le 04-04-2007 à 17:22:19  profilanswer
 

Oki vous m'avez presque convaincu :p
 
Le truc, c'est que j'ai pas l'impression que ça soit fait comme ça ailleurs.  
Par exemple en Java, si je prends la classe JButton : je ne vois aucune méthode statique permettant d'obtenir la liste de tous les JButton.
 
Si vous avez des exemples de classes java qui ont ça : des méthodes statiques qui listent les instances de la classe. Mais j'en trouve pas, donc ça met le doute.

n°1538519
skeye
Posté le 04-04-2007 à 17:25:58  profilanswer
 

Djebel1 a écrit :

Par exemple en Java, si je prends la classe JButton : je ne vois aucune méthode statique permettant d'obtenir la liste de tous les JButton.


 
m'enfin, pour faire quoi?[:pingouino]


---------------
Can't buy what I want because it's free -
n°1538530
Djebel1
Nul professionnel
Posté le 04-04-2007 à 17:35:54  profilanswer
 

bah dans le même esprit d'une méthode statique de la classe User qui liste tous les User. Tu vois pas le parallèle avec une méthode statique de la classe JButton qui liste tous les JButton ? :p
 
Je donne cet exemple histoire de dire, mais concrètement je ne vois pas de classes dans l'API java qui fait ce que tu dis :  
implémenter dans une classe une méthode statique qui renvoie une collection d'instances de cette classe.

n°1538545
skeye
Posté le 04-04-2007 à 17:59:59  profilanswer
 

Djebel1 a écrit :

bah dans le même esprit d'une méthode statique de la classe User qui liste tous les User. Tu vois pas le parallèle avec une méthode statique de la classe JButton qui liste tous les JButton ? :p
 
Je donne cet exemple histoire de dire, mais concrètement je ne vois pas de classes dans l'API java qui fait ce que tu dis :  
implémenter dans une classe une méthode statique qui renvoie une collection d'instances de cette classe.


Le truc, c'est qu'il faut aussi que ça serve à quelque chose, hein.:D


---------------
Can't buy what I want because it's free -
n°1538550
Djebel1
Nul professionnel
Posté le 04-04-2007 à 18:05:43  profilanswer
 

Ouais bah doit bien y avoir UNE classe de l'API java pour laquelle ça sert non ? :p
Disons que j'aimerais juste une confirmation que ce que tu proposes est bien la méthode "officielle" ^^ Si t'as des sources, des exemples extérieurs, autres, ...
 
C'est pas que j'ai pas confiance, juste que j'aimerais être sur avant de modifier ma manière de coder :D Et que je ne trouve pas de ressources répondant à ces questions.

n°1538554
skeye
Posté le 04-04-2007 à 18:07:30  profilanswer
 

c'est quoi que tu veux, un exemple d'utilisation d'une méthode statique?[:roane]


---------------
Can't buy what I want because it's free -
n°1538580
Djebel1
Nul professionnel
Posté le 04-04-2007 à 18:45:09  profilanswer
 

non ^^
Un exemple de classe d'une source "officielle" (API java, code source d'une appli connue, ...) qui fait ce que tu dis : retourner une collection d'instances de sa propre classe par une méthode statique.  
Juste pour être sur que c'est une approche couramment utilisée :)

n°1538625
FlorentG
Posté le 04-04-2007 à 19:58:32  profilanswer
 

nycius a écrit :

A quand un tuto documenté pour illustrer tout ca avec des exemples concrets ? parce que la c'est le flou total  :D  :whistle:


Dès que j'ai le temps :(
 

masklinn a écrit :

skeye > han t'as même pas fait une CarFactory, t'es trop naze :o


Moi toute mes factory ont été transformée en méthode 'create' statique de la classe factoryisée [:joce] PHP c'est tellement lent que tu gagnes à limiter le nombre de classes (et de fichier). Ou alors faudrait foutre la class factory dans le même fichier que la classe...

n°1539003
supermofo
Hello World !
Posté le 05-04-2007 à 15:47:55  profilanswer
 

Ah les questions existentielles ... Model2 ca n'est meme pas un vrai MVC !

 

Nan mais la base de base c est d utiliser la composition.

 

Le code avec car c'est du n'importe koi.

 

La meme chose bien faite utiliserait une interface DAO, qui serait implementee par SQL, FILE qui serait implementee par des classes abstraites qui elle meme serait derivee en Mysqli, Mysql, ADODB.
Chaque classe abstraites a un objet facade en appel statique (factory , $main_usage())
Apres tes objets Model ONT une reference a l objet Helper qui te retourne ce qu il faut quand il faut.

 


Spoiler :


tout d un coup j ai pas envie :p

 

@Florentg : j'utilise depuis le debut des objets helper (facade , factory) de controller a model, appelee en statique. Developper avec la J2ME sur portable ca aide ...

 

Dites merci a djebel pour le reste

 

Edit: a quand une section "Architecture d'application" car la ca commence vraiment a chiffrer


Message édité par supermofo le 05-04-2007 à 16:23:30
n°1539160
Djebel1
Nul professionnel
Posté le 05-04-2007 à 18:44:40  profilanswer
 

Bon je reviens à l'attaque avec mes histoires de qui doit instancier quoi. J'en ai parlé avec mes collègues, et aussi avec des mecs qui bossent pour le SIB (qui gère notamment une des plus grosses db de données biologiques au monde). Et enfin, histoire d'être archi certain, j'en ai parlé par mail avec ce mec : http://www.ece.iastate.edu/~zola/?page=cv_en
 
Bon bah en gros, ils sont tous de mon avis, et aucun de l'avis de Skeye, donc j'en perds un peu mon latin. Ils disent tous que la méthode de Skeye est valable mais archi crade niveau concept objet. Je quote la réponse par mail du dernier gars :  

Citation :

> If you develop an online car selling application for instance. You
> should have a Car class, e.g. :
>
> class Car
> {
> public String model;
> public String color;
> public String price;
>
> ............
> }
>
> If you need to get a list of all cars in store, I was told that you
> need a static method in the class Car, that will return a collection
> of Car. But in my opinion, a Car should not know anything about the
> other cars. In my opinion, you have to use another class to manage a
> collection of cars (a Store class for instance).
 
Hmm, usually your design depends on some broader context, but for the
moment we can forget about it. In the first design you have been
suggested to use __static__ method. Please note that e.g. in C++ and
also in Java, static implies that method is not part of the given
concept per se (for instance, it is not allowed to modify non-static
attributes). So you may regard any static method as a kind of global
function. Now, in your case I can guess that the reason to put static
method in the class Car is to clearly state that this method is to
handle cars. It does not imply, that one car has any information about
other car (method is "global" ). In other words, class Car servers only
as an "encapsulator". Personally I do not like this kind of design, but
I can easily imagine a situation where it will be useful. Other reason
could be efficiency. But this is usually not true.
 
The second design is obviously more correct from the object-oriented
point of view, and it gives more flexibility, so I would choose rather
this one.
 
> The point is, that I was told that a class is able to manage
> instanceS of itself (by using static method, as told previously). I
> thought that a class should not. What do you think about that ?
 
Question is, what does it mean "to be able to manage instances of
itself"? Imagine the following situation: your store has a really huge
traffic, so that many cars are removed and added to the store. In Java
this will inevitable cause some kind of garbage collecting problems.
Having a __separate_class__ to manage a list of cars you can easily
modify it, extend it, and so on, to use e.g. pooling to deal with the
extensive memory reallocations. Moreover you can easily play with
different types of data structures. Think how complicated it becomes
when you have just one static method. Of course you may later add more
static methods - but you will end up with a totally obscure class Car.


 
voilà voilà ...

Message cité 2 fois
Message édité par Djebel1 le 05-04-2007 à 19:18:58
n°1539162
Djebel1
Nul professionnel
Posté le 05-04-2007 à 18:46:15  profilanswer
 

gourage edit quote :x


Message édité par Djebel1 le 05-04-2007 à 18:46:46
n°1539176
supermofo
Hello World !
Posté le 05-04-2007 à 19:01:52  profilanswer
 

A class should have only one reason to change

 

Jlaisse tomber ...


Message édité par supermofo le 05-04-2007 à 19:02:21
n°1539179
masklinn
í dag viðrar vel til loftárása
Posté le 05-04-2007 à 19:05:15  profilanswer
 

Tu racontes n'importe quoi au gars, Skeye n'a jamais dit que tu devais avoir une méthode statique retournant une collection de Voitures sur ta classe Voiture, il a dit que tu pouvais, ça n'a strictement aucun rapport putain [:pingouino]

 

Accessoirement si tu veux un exemple sur le sujet c'est comme ça que fonctionne ActiveRecord en Ruby:

 

ActiveRecord est un ORM, c'est à dire qu'il mappe une classes sur une table SQL.

 

(La définition des propriétés de base d'une classe est tirée directement du modèle SQL par introspection)

Code :
  1. # définition de base de notre modèle
  2. class Cars << ActiveRecord::Base # Car hérite de ActiveRecord::Base
  3. end


Code :
  1. my_cars = Cars.find(:all) # je récupère toutes les voitures de ma BDD


Donc tu peux (emphase sur la possibilité, pas sur l'obligation) faire comme ça, personne n'a dit que tu y étais obligé [:spamafote]

 

Ce qu'on t'a clairement dit par contre c'est que ce n'était pas à ta classe de Stock de gérer ça, parce que ça induit un couplage fort et inacceptable entre les deux.

 

edit: et accessoirement il ne dit à aucun moment que c'est "archi crade", il dit qu'il n'apprécie pas ce genre de designs mais peut imaginer pourquoi ce serait fait/utile.
Le plus gros problème dans cette discussion c'est que tu refuses de lire/comprendre ce qui t'es dit en fait.

Message cité 2 fois
Message édité par masklinn le 05-04-2007 à 19:08:07

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1539182
Djebel1
Nul professionnel
Posté le 05-04-2007 à 19:08:29  profilanswer
 

masklinn a écrit :

Accessoirement si tu veux un exemple sur le sujet c'est comme ça que fonctionne ActiveRecord en Ruby:


merci  :jap:  
 

masklinn a écrit :

Ce qu'on t'a clairement dit par contre c'est que ce n'était pas à ta classe de Stock de gérer ça, parce que ça induit un couplage fort et inacceptable entre les deux.


Oki alors excuse moi mais peux-tu me dire comment on fait autrement ? La solution de la méthode statique ne me plait pas. Je ne vois pas de 3ème solution, si tu peux me mettre sur la voie :)
 

masklinn a écrit :


edit: et accessoirement il ne dit à aucun moment que c'est "archi crade", il dit qu'il n'apprécie pas ce genre de designs mais peut imaginer pourquoi ce serait fait/utile.
Le plus gros problème dans cette discussion c'est que tu refuses de lire/comprendre ce qui t'es dit en fait.


oki oki, c'est moi qui m'exprime mal en effet. Je trouve archi crade le coup de la méthode statique. Et effectivement, j'avais cru comprendre qu'on me disait que c'était la seule méthode valable. Si on pouvait m'orienter vers une autre solution ça serait bien cool.

Message cité 1 fois
Message édité par Djebel1 le 05-04-2007 à 19:11:03
n°1539187
masklinn
í dag viðrar vel til loftárása
Posté le 05-04-2007 à 19:15:08  profilanswer
 

Djebel1 a écrit :

merci  :jap:  
 
 
Oki alors excuse moi mais peux-tu me dire comment on fait autrement ? La solution de la méthode statique ne me plait pas. Je ne vois pas de 3ème solution, si tu peux me mettre sur la voie :)


Une classe tierce spécialisée dans la gestion de tes collections d'objets (une Factory, en DesignPatternSpeak), c'est d'ailleurs ce dont il te parle dans son mail:

Citation :

In Java
this will inevitable cause some kind of garbage collecting problems.
Having a __separate_class__ to manage a list of cars you can easily
modify it, extend it, and so on, to use e.g. pooling to deal with the
extensive memory reallocations.


Il ne te dit pas de mettre ta gestion d'objets dans une classe existante dont ce n'est absolument pas le rôle, il te dit d'ajouter une couche d'indirection avec une classe dont l'unique rôle est cette gestion d'objets (cf Factory Method pattern et Abstract Factory pattern)


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1539190
Djebel1
Nul professionnel
Posté le 05-04-2007 à 19:21:36  profilanswer
 

Oki thx, je potasse ces designs avant de revenir vous gonfler ^^

n°1539191
Shinuza
This is unexecpected
Posté le 05-04-2007 à 19:25:48  profilanswer
 

masklinn a écrit :


Code :
  1. my_cars = Cars.find(:all) # je récupère toutes les voitures de ma BDD




 

Code :
  1. my_cars = Cars.find_all # je récupère toutes les voitures de ma BDD


 
Y'a une différence entre les deux?


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1539195
masklinn
í dag viðrar vel til loftárása
Posté le 05-04-2007 à 19:32:20  profilanswer
 

Shinuza a écrit :

Code :
  1. my_cars = Cars.find_all # je récupère toutes les voitures de ma BDD


 
Y'a une différence entre les deux?


Non, le second est généré dynamiquement mais aliase sur le premier (je présume via method_missing)
 
cf http://api.rubyonrails.org/classes [...] /Base.html section "Dynamic attribute-based finders"


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1539212
Kid_Paddle
Posté le 05-04-2007 à 19:54:56  profilanswer
 

find_all est d'allieurs déprécié il me semble

n°1539217
masklinn
í dag viðrar vel til loftárása
Posté le 05-04-2007 à 19:59:38  profilanswer
 

Me semble bien, mais j'ai pas le courage de chercher la doc :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1539222
Shinuza
This is unexecpected
Posté le 05-04-2007 à 20:05:20  profilanswer
 

L'est même pas documentée  [:emonkey]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  18  19  20  ..  62  63  64  65  66  67

Aller à :
Ajouter une réponse
 

Sujets relatifs
Comment créer une architecture propre et fonctionelle...[Débutant] Webdesigner a besoin d'aide pour PHP
script PHP style explorateur windowsPHP et MS SQL
[PHP] envoi d'images qui se dimentionne et s'ajoute direct sur 1pageAfficher le temps utilisé pour générer une page PHP
[PHP] connexion bdd différente selon page locale ou sur serveur ?Afficher une image générée par un script PHP dans un PDF ?
Utilisation d'une variable en Flash depuis PHPErreur de forum PHP
Plus de sujets relatifs à : Model View Controller (MVC) - Architecture des applications PHP


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)