Я пытался изучить PHP ООП и провел несколько исследований о том, как создать глобальный класс базы данных для использования в моем проекте. Из того, что я видел, наиболее подходящим шаблоном является одноэлементный, который обеспечивал бы постоянное присутствие только одного соединения с базой данных. Однако, поскольку я впервые работаю с шаблоном Singleton, я не уверен, что все сделал правильно.
Это правильный синглтон? Будет ли этот код обеспечивать только одно соединение с базой данных? Есть ли способ проверить это? (Научите человека ловить рыбу, и он будет есть всю оставшуюся жизнь ...)
Я использую redbean в качестве своего ORM, и вот как я его настроил:
require_once PLUGINPATH.'rb.php';
$redbean= R::setup("mysql:host=192.168.1.1;dbname=myDatabase",'username','password');
Я создал следующий скрипт на основе этого источника , как мой собственный одноэлементный класс Database;
class database {
private $connection = null;
private function __construct(){
require_once PLUGINPATH.'rb.php';
$this->connection = R::setup("mysql:host=192.168.1.1;dbname=myDatabase",'username','password');
}
public static function get() {
static $db = null;
if ( $db === null )
$db = new database();
return $db;
}
public function connection() {
return $this->connection;
}
}
Спасибо!