/** * @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; }
/** * Kickstart for development phase (strict mode). * Use this method to quickly setup RedBean for use during development phase. * This Kickstart establishes a database connection * using the $dsn, the $username and the $password you provide. * It will start RedBean in fluid mode; meaning the database will * be altered if required to store your beans. * This method returns a RedBean_Toolbox $toolbox filled with a * RedBean_Adapter, a RedBean_QueryWriter and most importantly a * RedBean_OODB; the object database. To start storing beans in the database * simply say: $redbean = $toolbox->getRedBean(); Now you have a reference * to the RedBean object. * @param string $dsn * @param string $username * @param string $password * @return RedBean_ToolBox $toolbox */ public static function kickstartDevS($dsn, $username = "******", $password = "") { $frozen = false; self::checkDSN($dsn); $pdo = new RedBean_Driver_PDO($dsn, $username, $password); $adapter = new RedBean_Adapter_DBAdapter($pdo); $writer = new RedBean_QueryWriter_MySQLS($adapter, $frozen); $redbean = new RedBean_OODB($writer); $toolbox = new RedBean_ToolBox($redbean, $adapter, $writer); //deliver everything back in a neat toolbox self::$toolbox = $toolbox; return self::$toolbox; }
public static function kickstart($dsn, $username = NULL, $password = NULL, $frozen = false) { if ($dsn instanceof PDO) { $pdo = new RedBean_Driver_PDO($dsn); $dsn = $pdo->getDatabaseType(); } else { self::checkDSN($dsn); $pdo = new RedBean_Driver_PDO($dsn, $username, $password); } $adapter = new RedBean_Adapter_DBAdapter($pdo); if (strpos($dsn, "pgsql") === 0) { $writer = new RedBean_QueryWriter_PostgreSQL($adapter); } else { if (strpos($dsn, "sqlite") === 0) { $writer = new RedBean_QueryWriter_SQLiteT($adapter); } else { $writer = new RedBean_QueryWriter_MySQL($adapter); } } $redbean = new RedBean_OODB($writer); if ($frozen) { $redbean->freeze(true); } $toolbox = new RedBean_ToolBox($redbean, $adapter, $writer); self::$toolbox = $toolbox; return self::$toolbox; }
/** * @param string $dsn * @return RedBean_ToolBox $toolbox */ public static function kickstartDevL($dsn) { self::checkDSN($dsn); $pdo = new RedBean_Driver_PDO($dsn, "", ""); $adapter = new RedBean_Adapter_DBAdapter($pdo); $writer = new RedBean_QueryWriter_SQLiteT($adapter, false); $redbean = new RedBean_OODB($writer); $toolbox = new RedBean_ToolBox($redbean, $adapter, $writer); self::$toolbox = $toolbox; return self::$toolbox; }