Добрый день, извиняюсь, скорее всего вопрос тупой, но как создать объект один раз за все время работы приложения? Есть точка входа, там хочу создать объект DataBase.
$db = new DataBase($parameters);
Во всех остальных файлах хочу чтоб можно было просто делать так:
$db->select($query);
Возможно вам нужен паттерн Singleton.
class DB {
private function __construct(){} // запрет new DB()
private function __wake(){} // запрет unserialize
private function __clone(){} // запрет clone $db;
private static $db = null;
public static function get($params) {
return self::$db ?: self::$db = new self();
}
public function setup($params) {/*...*/}
}
Использование:
DB::get()->setup($config);
...
DB::get()->select(...);
Одна из проблем этого паттерна в том, что иногда нам может понадобиться второе соединение - придётся как-то с этим бороться.
Также, по сути это создание зависимости от глобального контекста. Неочевидно, какие классы теперь зависят от DB.
Намного лучше просто создать объект и передавать его всем, кто в нём нуждается(DI).
Используйте статическую переменную класса для хранения подключения к бд и почитайте по поводу шаблона singleton
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть две табицы: category и newsНужно сделать выборку чтобы показывало 5 новостей каждой категори
Пытаясь делать курсач застрял вот на таком моменте: Вот скрин кансоли на каком месте остановилась прога: А делаю я решение системы линейных...