Сегодня я хочу рассказать о ленивой, или отложенной инициализации.
Наиболее часто в web-разработке применяется принцип создания объекта непосредственно перед обращением к нему (здесь понимается, что создание объекта - трудоёмкая операция). Что нам это дает:
Наиболее часто в web-разработке применяется принцип создания объекта непосредственно перед обращением к нему (здесь понимается, что создание объекта - трудоёмкая операция). Что нам это дает:
- Приложение быстрее инициализируется.
- Приложение может быстрее работать.
Рассмотрим на примере ленивой инициализации соединения с базой данных. Если, например, приложение генерирует страницу и ему не понадобилась база, то соединение с ней и не будет создано, а, значит, общее время работы скрипта уменьшится.
Для чего можно применять ленивую инициализацию?
Если использовать при разработки web-приложения подобный подход, то:
Для чего можно применять ленивую инициализацию?
- Как я уже сказал, для создания соединения с базой данных.
- Для обращения к данным из кэша - если они не нужны для генерации страницы, то и не следуют обращаться к кэшу.
- Для получения данных от других веб-приложений. Причина аналогична.
- Для загрузки изображений при работе с gd2 или какой - либо иной графической библиотекой php.
Пример отложенной инициализации соединения с базой данных
class DbConnection
{
/**
* @var mysqli
*/
private $conneciton = null;
private $host, $username, $password, $database;
/**
* @param string $host
* @param string $username
* @param string $password
* @param string $database
*/
public function __construct($host, $username, $password, $database)
{
$this->host = $host;
$this->username = $username;
$this->password = $password;
$this->database = $database;
}
/**
* Выполняет запрос и возвращает результаты его выполнения.
*
* @param string $query
* @return array
*/
public function query($query)
{
$arrayResult = array();
$queryResult = $this->getConnection()->query($query);
if (!empty($queryResult))
{
while ($row = $queryResult->fetch_array(MYSQLI_ASSOC))
{
$arrayResult[] = $row;
}
$queryResult->close();
}
return $arrayResult;
}
/**
* Возвращает соединеие с базой данных, если оно уже было создано
* Если нет, то создаёт его.
*
* @return mysqli
*/
private function getConnection()
{
if ($this->conneciton === null)
{
$this->conneciton = new mysqli($this->host, $this->username, $this->password, $this->database);
}
return $this->conneciton;
}
}
Небольшой пример использования класса - получаем из базы двух пользователей и печатаем результат:$dbConnection = new DbConnection('localhost', 'root', '1234', 'test_db');
var_dump($dbConnection->query('SELECT * FROM `user` LIMIT 2'));
ИтогиЕсли использовать при разработки web-приложения подобный подход, то:
- Можно получить значительный прирост скорости для статических страниц и страниц, которым не требуется соединение с базой данных, обращение к данным из кэша и т.д.
- Снизится нагрузка на MySQL(Oracle SQL, PostreSQl - нужной подчеркнуть) за счёт меньшего количество создаваемых соединений.
VarangaOfficial - купить мазь варанга - самая большая и исчерпывающа подборка фактов. Воспользовавшись нашим онлайн-сервисом, вы получите возможность узнать обстоятельную информацию касающуюся представленного средства. Лично увидеть данные о проведенных клинических исследований, прочесть реальные отзывы пользователей и врачей, использующих крем в своей лечебной практике. Изучить инструкцию по применению, прочитать особенности и методы работы комплекса, осмыслить, в чем заключаются особенности работы крема Варанга, где необходимо заказывать оригинальный препарат и, как не нарваться на фальсифицированный продукт. Мы скурпулезно проверяем публикуемые данные. Предоставляем нашим пользователям сведения, которые были почерпнуты только из надежных источников. Если вы нашли у себя признаки грибка или же долго и безрезультатно пытаетесь избавиться от этого неприятного коварного недуга, у нас на сайте вы найдете легкий и быстрый способ решения проблемы. Присоединяетесь и живите здоровой полноценной жизнью. Благодаря нам, все ответы на самые волнующие вопросы, теперь собраны в одном месте на удобной в использовании и высоко информационном ресурсе.
ОтветитьУдалитьРусский секс чат бонги пары Порно видео чат рулетка. Русский порно чат рулетка Как всем известно, все интересные девушки - русские девушки, потому что они заложницы видеочатов, где много представителей сильного пола, которые являются заложниками их либидо. Вот почему они славятся своим колоссальным успехом у иностранцев. Русские русские модные бренды гаджетов в секс-видео чате, т.Е. Они находятся в российской федерации, беларуси или нашей стране и говорят по-русски. Практически любой иностранец готов отдать огромную сумму долларов только за то, чтобы насладиться сексуальной красотой наших девушек. Вот почему так много американцев, немцев и китайцев посещают русский секс-видеочат. Естественно, мы осознаем, что предложения секс-чата в домашней рулетке могут быть разнообразными. В интимном видеочате вы найдете своих единомышленников на самые разные темы. Подружитесь с единомышленниками и даже создайте настоящую семью. Однако существуют также следующие позиции развития. Люди, случайно выбравшие русскую порно чат рулетку, становятся одинаковыми друг для друга раз и навсегда. Когда игрок застенчивый и скромный человек, секс, порно видео чат на русском языке поможет вам расслабиться и стать более уверенным в мужской силе. Так как вы находитесь по другую сторону компьютера и можете прервать связь в любой момент. Клиентам точно нужна практика общения, и здесь вы можете прочитать об этом среди. Вы увидите, о чем говорите, вы один не можете обеспечить беседу, их много. Главное - переступить через собственные сомнения и нажать начать эротический чат русская рулетка. В этом разговоре со случайным собеседником здесь постарайтесь оставаться искренним. Потрескивайте на темы, которые важны для вас. Если вы заметили, что здесь есть человек, который превосходен по духу и тематике, продолжайте со своими спутниками по веб-камере. Когда пользователь не годится, спокойно завершите общение с офисом и найдите другого собеседника в случайном секс-, порно-видео-чате. Не оскорбляйте и не унижайте всегда таких, как вы, это не ваша вина, что у вас разные взгляды на существование с нами. Собеседнику, который вам нравится, вы получаете возможность дарить подарки, имея монеты на сайте. Монеты приобретаются с помощью специального приложения. Это быстро и романтично!
ОтветитьУдалить