public static function getFactory() { if (!self::$factory) { self::$factory = new DatabaseFactory(); } return self::$factory; }
public function __construct() { $this->connection = mysql_connect('localhost', 'root', ''); mysql_select_db('test', $this->connection); mysql_set_charset('utf8'); } public function userExists($email) { $emailEscaped = mysql_real_escape_string($email); $query = "SELECT * FROM user WHERE email='" . $emailEscaped . "'"; if ($result = mysql_query($query, $this->connection)) { return mysql_num_rows($result) > 0 ? true : false; } else { return 12345; } } } class DatabaseFactory { public static function factory($type) { switch ($type) { case 'MYSQL': return new MYSQL(); break; } } } $db = DatabaseFactory::factory('MYSQL'); $result = $db->userExists('*****@*****.**'); var_dump($result);