[commits] [Wiki] changed: Project/Rdo

Wiki Guest wikiguest at horde.org
Mon Feb 17 16:21:47 UTC 2020


guest [95.90.223.65]  Mon, 17 Feb 2020 16:21:47 +0000

Modified page: https://wiki.horde.org/Project/Rdo
New Revision:  9
Change log:  format

@@ -8,21 +8,23 @@

  Rdo currently gives unexpected results for to-one relations where no  
or a wrong relation key exists. [#10880]

  ++ Ideas for H6
- +++ Allow subtyping or wrapping the Horde_Rdo_Base entities
+
+
++++ Allow subtyping or wrapping the Horde_Rdo_Base entities
      * All parts of the Rdo framework delegate the actual  
instanciation of entities to Horde_Rdo_Mapper::map()
      The map() method can be overwritten by the implementing mapper  
or an intermediate app-specific base class
      You may even do away with Horde_Rdo_Base entities completely,  
but then you will want to patch create(), update() and delete, too
      If you use Horde_Rdo_Factory, you may want to subclass it and  
overwrite the create() method.
      Most likely you will want to inject some dependencies to your entities.

- +++ Refactor against interfaces rather than base class
- +++ Have a minimum interface which allows "plain" entity objects  
without the smart delete, update etc shortcuts.
- +++ Move some of the rarely used stuff to traits. Keep the traits in  
the default Horde_Rdo_Base but don't require them in the base interface
- +++ Maybe some more dynamic approach to lazy loading?
- +++ __toString() for Horde_Rdo_Query objects. Basically a  
convenience wrapper for ->getQuery().
- +++ returning exceptions instead of null for wrong relation keys or  
null relation keys. Facilitates chaining relations like  
$baby->mother->granny->name. Currently if granny isn't present, we run  
into a php fatal (method on non-object). This is a BC break.
++++ Refactor against interfaces rather than base class
++++ Have a minimum interface which allows "plain" entity objects  
without the smart delete, update etc shortcuts.
++++ Move some of the rarely used stuff to traits. Keep the traits in  
the default Horde_Rdo_Base but don't require them in the base interface
++++ Maybe some more dynamic approach to lazy loading?
++++ __toString() for Horde_Rdo_Query objects. Basically a convenience  
wrapper for ->getQuery().
++++ returning exceptions instead of null for wrong relation keys or  
null relation keys. Facilitates chaining relations like  
$baby->mother->granny->name. Currently if granny isn't present, we run  
into a php fatal (method on non-object). This is a BC break.

  ++ People

  ChuckHagenbuch is the primary author of Rdo.



More information about the commits mailing list