コード例 #1
0
 /**
  * @param  string $dsn
  * @param  string $username
  * @param  string $password
  * @return RedBean_ToolBox $toolbox
  */
 public static function kickstart($dsn, $username, $password)
 {
     $pdo = new Redbean_Driver_PDO($dsn, $username, $password);
     $adapter = new RedBean_DBAdapter($pdo);
     $writer = new RedBean_QueryWriter_MySQL($adapter);
     $redbean = new RedBean_OODB($writer);
     //add concurrency shield
     $logger = new RedBean_ChangeLogger($writer);
     self::$observers["logger"] = $logger;
     $redbean->addEventListener("open", $logger);
     $redbean->addEventListener("update", $logger);
     $redbean->addEventListener("delete", $logger);
     //deliver everything back in a neat toolbox
     self::$toolbox = new RedBean_ToolBox($redbean, $adapter, $writer);
     return self::$toolbox;
 }
コード例 #2
0
ファイル: Facade.php プロジェクト: ryjkov/redbean
 /**
  * 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.
  *
  * @static
  * @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);
     return $oldTools;
 }
コード例 #3
0
ファイル: rb127lg.php プロジェクト: nev3rm0re/hondex
 /**
  * Kickstarts redbean for you.
  * @param string $dsn
  * @param string $username
  * @param string $password
  */
 public static function setup($dsn = "sqlite:/tmp/red.db", $username = NULL, $password = NULL)
 {
     RedBean_Setup::kickstart($dsn, $username, $password);
     self::$toolbox = RedBean_Setup::getToolBox();
     self::$writer = self::$toolbox->getWriter();
     self::$adapter = self::$toolbox->getDatabaseAdapter();
     self::$redbean = self::$toolbox->getRedBean();
     self::$associationManager = new RedBean_AssociationManager(self::$toolbox);
     self::$treeManager = new RedBean_TreeManager(self::$toolbox);
     self::$linkManager = new RedBean_LinkManager(self::$toolbox);
     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);
 }
コード例 #4
0
ファイル: rb.php プロジェクト: u007/FlexiPHP
 /**
  * Adds event listener.
  * @param <type> $event
  * @param RedBean_Observer $o
  */
 public function addEventListener($event, RedBean_Observer $o)
 {
     $this->oodb->addEventListener($event, $o);
 }