Example #1
0
 /**
  * Configures the facade, want to have a new Writer? A new Object Database or a new
  * Adapter and you want it on-the-fly? Use this method to hot-swap your facade with a new
  * toolbox.
  *
  * @param RedBean_ToolBox $tb toolbox
  *
  * @return RedBean_ToolBox $tb old, rusty, previously used toolbox
  */
 public static function configureFacadeWithToolbox(RedBean_ToolBox $tb)
 {
     $oldTools = self::$toolbox;
     self::$toolbox = $tb;
     self::$writer = self::$toolbox->getWriter();
     self::$adapter = self::$toolbox->getDatabaseAdapter();
     self::$redbean = self::$toolbox->getRedBean();
     self::$associationManager = new RedBean_AssociationManager(self::$toolbox);
     self::$redbean->setAssociationManager(self::$associationManager);
     self::$extAssocManager = new RedBean_ExtAssociationManager(self::$toolbox);
     $helper = new RedBean_ModelHelper();
     self::$redbean->addEventListener('update', $helper);
     self::$redbean->addEventListener('open', $helper);
     self::$redbean->addEventListener('delete', $helper);
     self::$associationManager->addEventListener('delete', $helper);
     self::$redbean->addEventListener('after_delete', $helper);
     self::$redbean->addEventListener('after_update', $helper);
     self::$redbean->addEventListener('dispense', $helper);
     self::$tagManager = new RedBean_TagManager(self::$toolbox);
     self::$f = new RedBean_SQLHelper(self::$adapter);
     return $oldTools;
 }
Example #2
0
 /**
  * Optional accessor for neat code.
  * Sets the database adapter you want to use.
  *
  * @param RedBean_OODB $redbean
  */
 public static function setRedBean(RedBean_OODB $redbean)
 {
     self::$redbean = $redbean;
 }