aspect objet dans PN0.8
Auteur Sujet

Post 
Bonjour

J'ai commencé à regarder l'aspect objet de Pn0.8, via le module exampleOBJ des values addon, et même si l'intégration de la technologie est super intéressante, je trouve çà quand même super compliqué.

Je voulais juste savoir si c'était la version final "théorique" qui était dans les addons, ou s'il y avait encore des discussions la dessus.

Si on regarde le POJO de base déjà,
- pourquoi il y a t'il deux fichiers (un pour l'objet de base et un pour les tableaux ?)
- comment on peut rajouter un champs personnalisé. (un attribut à la classe)
  1. class PNExampleobj1 extends PNObject  
  2.     // The constructor only needs to set the fields which are used  
  3.     // to configure the object's specific properties and actions.  
  4.     // For the most part we can  
  5.     function PNExampleobj1($init=null, $key=0) 
  6.     { 
  7.         // Call base-class constructor 
  8.         $this->PNObject(); 
  9.  
  10.         // set the tablename this object maps to  
  11.         $this->_objType  = 'exampleobj_exampleobj1'; 
  12.  
  13.         // set the ID field for this object 
  14.         $this->_objField = 'id'; 
  15.  
  16.         // set the access path under which the object's  
  17.         // input data can be retrieved upon input 
  18.         $this->_objPath  = 'exampleobj1'; 
  19.  
  20.         // Call initialization routing 
  21.         $this->_init($init, $key); 
  22.     } 
  23.  
  24.     // This method is used to tranform data acquired from input 
  25.     // in such a way that only 7-bit ASCII characters remain.  
  26.     // We only need to provide the actual implementation of  
  27.     // this method. It will be invoked automoatically through  
  28.     // the framework provided by the PNObject class.  
  29.     function getDataFromInputPostProcess ($data=null) 
  30.     { 
  31.             // initialize transformation parameters 
  32.         $special1 = 'ÄÖÜäöüß'; 
  33.         $special2 = 'AOUaous'; 
  34.  
  35.         // in case we don't get any explicit data array assigned  
  36.         // we default to the data the object acquired. Typically  
  37.         // this data is acquired from the getDataFromInput() method.  
  38.         if (!$data) 
  39.             $data = &$this->_objData; 
  40.  
  41.         // now perform our transformation  
  42.         $data['sortname'] = strtr($data['name'], $special1, $special2); 
  43.  
  44.         // we return the data so that this method can be invoked  
  45.         // with explicit parameters and the return this result. 
  46.         return $data; 
  47.     } 


Je sais que ce que je dis peut paraitre utopique, est ce qu'il y aurai pas moyen que les objets métiers de bases soit juste des objets classiques (attributs avec getter et setter) et que les données de mapping soit défini d'une autre manière (exemple : dir dans le dossier classe et génération des tables par derrière).

Bon après, je trouve surement çà super compliqué , parce que je viens de rentrer dedans et que je connais pas encore

Pour ceux qui veulent voir
http://community.postnuke.com/downl...ns_20070521.zip

Merci d'avance
Données personnelles Accueil
Post 
Hello,

je pense que cette intégration de la notion d'objet est le 1er jet de ce qui va se faire pour la version 0.9-1.0. L'objet ne s'implémente pas facilement dans un système ayant mûri sans. Aussi, cette notion est intégrée avec soin.

Il est possible, comme le montre l'exemple de faire un module objet actuellement, mais je pense que dans les versions futures, celà se fera facilement !

++


Gilles  ><>°
Données personnelles Accueil