SEO продвижение сайтов

PHP Singleton - Синглтон, пример паттерна

Паттерн (pattern) – это стандартизированное решение какой-либо часто встречающейся проблемы, идея правильного, красивого решения с перспективой легкого расширения функционала.

Паттерн - это некий оптимальный, оригинальный и продуманный подход к решению часто встречающихся задач, который используется во всех языках программирования. Реализации паттернов могут быть различными.

Паттерн Singleton (одиночка) - цель создать только ОДНУ (!!!) реализацию класса с целью экономии ресурса и не допустить коллизий повторных подключений. Нужно создать единственную реализацию класса и его методов и при попытках создать ещё реализации этого класса всегда возвращать результат первой ранее созданной реализации класса.

Пример php-кода:

<?php
class Db
{
	private static $db=null;
	
	public function conect()
	{
		if (self::$db===null)
		{
			self::$db=new self();//Теперь НЕ null - Создаём объект себя
			echo "1-е ПОДКЛЮЧЕНИЕ!!!<br>\n";
		}
		else
		{
			echo "ЕЩЁ ПОДКЛЮЧЕНИЯ..!<br>\n";
		}
		
		return self::$db;
	}

	public function f1()
	{
		echo "Функция f1()<br>\n";
	}

	private function __construct() {}//Запрет создать объект
	private function __clone() {}    //Запрет клонировать объект
	private function __wakeup() {}   //Запрет восстановлений любых соединений
}

$ob=Db::conect();//1-е ПОДКЛЮЧЕНИЕ!!!
Db::conect();//ЕЩЁ ПОДКЛЮЧЕНИЯ..!
Db::conect();//ЕЩЁ ПОДКЛЮЧЕНИЯ..!
Db::conect();//ЕЩЁ ПОДКЛЮЧЕНИЯ..!
$ob->f1();   //Через единственный объект вызываем Функцию f1()

//и т.д.
?>

При попытке повторного использования класса будут возвращаться результаты первой реализации, а при создании одного или многих объектов класса через оператор new всегда будет показывать ошибку, что не допустит повторных реализаций и гарантирует только ОДНУ реализацию класса.

Автор: Алехин Геннадий (13.01.2020)

Добавить комментарий


Защитный код
Обновить

Web-технологии

Событие в JavaScript

Событие в JavaScript - это определённое действие, которые вызвано либо пользователем, либо браузером.

Например:

События мыши:

  • click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
  • contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
  • mouseover / mouseout – когда мышь наводится на / покидает элемент.
  • mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
  • mousemove – при движении мыши.

События на элементах управления:

  • submit – пользователь отправил форму
  • focus – пользователь фокусируется на элементе, например нажимает на <input type="text" />.
Подробнее...

Универсальный обход по массиву

Предлагаю вашему вниманию PHP-код - универсальный обходчик любого массива с любым представлением. Используем две функции: 1) функция с циклом (метод ArrFor() в классе) и 2) функция (как аргумент) с оформлением результатов обхода по массиву в цикле.

Подробнее...

JavaScript - основы (ES6)

ECMAScript 6 (или ES6) - это новая версия JavaScript 2015г, в которую добавлен новый функционал, которая на сегодня поддерживается всеми современными браузерами.

Переменные и комментарии

JavaScript - не строго типизированный язык. Переменные обозначаются так:

	let name='Геннадий'//Строка
	console.log(name)  //Геннадий - отображается в консоли

	var age=40      //Число(без кавычек) VAR (глобальная) - устарело, не использовать!
	console.log(age)//40 - отображается в консоли

	const prof="Программист"//Это константа
	console.log(prof)//Программист - отображается в консоли

	// - это однострочный комментарий

	/*
		тут 
		многострочные 
		комментарии
	*/

Подробнее...
Интересные статьи

Диалектические противоречия или чего хотят современные женщины

Диалектические противоречия или чего хотят современные женщины

Современная женщина, независимо от доходов и статуса, выбирает мужчину для отношений, который должен обладать определенными чертами характера. Именно наличие этих естественных черт характера у мужчины определяют его как достойного для создания пары.

Многие женщины, живущие в современном мире, традиционно имеют как минимум два взаимоисключающих убеждения в отношении взаимодействия с мужчинами для создания такого союза.

Подробнее...

Почему мужчинам опасно регистрировать брак в России

Почему мужчинам опасно регистрировать брак в России

Сразу хочу сообщить, что я не оголтелый женоненавистник или противник семейных ценностей. Я как раз наоборот - замечательно и с почтением отношусь к прекрасным дамам и являюсь сторонником традиционных семейных ценностей.

Но при этом категорически настаиваю, что официально регистрировать брак в нашей стране для мужчин катастрофически опасно и вот почему...

Подробнее...

День Победы со слезами на глазах...

День Победы со слезами на глазах...

Дорогие друзья, вот и прошёл пожалуй самый светлый праздник для нашей страны, для нашего народа - ДЕНЬ ПОБЕДЫ - 9 мая.

Но, как именно прошёл праздник 75-летия ПОБЕДЫ в этом году, я хочу напомнить сегодня, спустя 4 дня от празднования исторической даты.

У меня такое ощущение, как будто никто не заметил, что ПОЛИЦАИ по всей стране в этот день задерживали, арестовывали и штрафовали именно за память о Победе, за возложение цветов к памятникам нашим павшим героям.

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить