Основные изменения в версии PHP 8.5
Pipe-оператор |>
В PHP 8.5 представлен новый pipe-оператор ( |> ), который упрощает работу с последовательными вызовами функций. Этот оператор передаёт результат выполнения одной функции в качестве аргумента следующей функции в цепочке.
Ранее для последовательной обработки данных использовались два подхода: либо вложенные вызовы функций (которые затрудняют чтение кода из-за обратного порядка выполнения), либо создание промежуточных...
NoSQL база данных Redis
Здесь собрана сборная информация по базе данных Redis, которая может понадобиться при работе с этим хранилищем данных или если вас спросят о ней на собеседовании:)
Redis — это система для хранения данных, которая использует пары "ключ — значение". Вместо таблиц, как в реляционных или документоориентированных базах данных, такой тип БД имеет только ключи и соответствующие им значения. Он может хранить огромное количество таких пар —...
Основные изменения в версиях PHP
В этом списке не ставится целью перечислить все изменения между версиями в PHP, для этого существует официальная документация, но можно попробовать охватить относительно значимые изменения, произошедшие от версии 5.4 до текущего состояния (на момент написания это ...
Индексы в SQL базах данных
Что такое индексы?
При вставке очередной строки в таблицу сервер вашей БД технически не размещает их в какой-либо таблице по порядку, вместо этого он просто помещает данные в следующее доступное место в файле по списку этих свободных мест. При запросе к таблице серверу приходится проверять каждую строку таблицы, чтобы ответить по условиям запроса. Например, чтобы найти пользователей, имя которых начинается с "F", сервер должен...
Транзакции в MySQL
Транзакция представляет собой группу операторов SQL, которые обрабатываются атомарно, то есть как цельная единица проведённой работы. Если механизм базы данных может применить всю группу операторов к базе данных, он делает это, но если какой-либо из операторов не может быть выполнен из-за сбоя или по другой причине, ни один из них не применяется.
Управление транзакциями
Управление транзакциями является важной частью работы базы...
Вы еще не зарегистрировались? Войти
Критерии ACID для транзакций в MySQL
ACID - это аббревиатура, обозначающая четыре ключевых свойства систем обработки транзакций: атомарность, согласованность, изолированность и долговечность. Эти характеристики являются основополагающими для обеспечения надежности и защиты данных в базах данных.
ACID
Атомарность. Транзакция воспринимается как единое целое, и ее выполнение подразумевает, что или все действия выполняются успешно, или не выполняется ни одно. Это...
Обработка ошибок и исключений в PHP
После выхода PHP 7 механизм встроенных ошибок был сильно изменён и теперь представляет собой разделение на классы Error (Фатальная ошибка) и Exception (Исключение). Первый содержит перечень унаследованных от него типизированных классов для фатальных ошибок PHP, а Exception должен содержать исключения с возможностью обработки, которые будут от него унаследованы. Вместе эти два основных класса объединены интерфейсом Throwable, соответственно и...
Использование замыканий в PHP
Замыкание в PHP - это способность анонимной функции взаимодействовать с её окружением. То есть переменные из контекста замыкания могут быть использованы внутри функции.
Анонимная функция - это обычная функция не имеющая названия. Может быть присвоена переменной и не только, также может быть возвращаемым результатом функции или метода, аналогично экземпляру внутреннего класса Closure, которым представлена.
Пример обычной...
Какие процессы происходят после ввода URL в браузере
Когда пользователь вводит URL в браузере, происходит следующая последовательность процессов:
-
Парсинг URL: Браузер анализирует введенный URL, чтобы выделить протокол, доменное имя и путь к ресурсу.
-
DNS-поиск: Браузер отправляет запрос к DNS-серверу для получения IP-адреса, связанного с доменным именем. DNS-сервер возвращает IP-адрес браузеру.
-
Установка TCP-соединения: Браузер устанавливает TCP-соединение с веб-сервером, используя...
Шпаргалка по REST - стиле разработки веб-сервисов
REST, или Representational State Transfer, это архитектурный стиль для разработки веб-сервисов. Он основан на нескольких принципах, что делает его простым, масштабируемым и гибким для создания и использования веб-сервисов.
REST использует стандартные HTTP-методы, такие как GET, POST, PUT и DELETE, для взаимодействия между клиентом и сервером. Каждая операция выполняется на определенном ресурсе, которому обычно соответствует определенный URL.
OPTIONS....
Для чего нужны атрибуты в PHP
Атрибуты вида #[CustomAttribute] добавлены в PHP 8.0 (RFC, Документация)
Атрибуты предоставляют возможность добавлять различную конфигурацию к конкретным классам, методам, константам класса и тд. При этом, пока вы не начнёте обращаться к этой конфигурации, выполнение PHP никак её не воспринимает, как и обычные комментарии. Через рефлексию можно запросить атрибут конкретного класса/метода и...
Для чего нужен оператор yield в PHP
Оператор yield — основа генераторной функции. Отдалённо этот оператор похож на оператор return , так как тоже реализует возврат, только вместо того, чтобы останавливать выполнение текущей функции, yield предоставляет значение коду, зацикливающемуся на генераторе, и приостанавливает выполнение функции генератора.
Для понимания, что делает yield, необходимо понимать, что такое генераторы. Генераторам же предшествуют итераторы. Когда вы...
Движки для базы данных MySQL - InnoDB, MyISAM и Archive
InnoDB — многофункциональный движок, который поддерживает большинство функций: транзакции, все ограничения[1], внешние ключи[2], связи таблиц и другое, но не поддерживает полнотекстовый индекс. Данный движок в основном направлен на выборку данных, а не на вставку, следовательно, лучше использовать его там, где чаще всего нужно будет быстро что-то выбрать, а не вставить. Или там, где нужен какой-то функционал,...
Паттерны проектирования
Что из себя представляет паттерн?
Паттерн проектирования — это распространённое решение конкретной проблемы при проектировании архитектуры программы.

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

SOLID
Это аббревиатура пяти основных принципов проектирования в объектно-ориентированном программировании
В большинстве случаев, если вы желаете добра себе и своим коллегам, а также "набили шишки" на неправильно спроектированных классах, и сделали из этого выводы, то будете и так пользоваться принципами, повторяющими SOLID, а также многими другими, что тоже немаловажно. Это к тому, что на знании...
Что такое трейты в PHP и как их использовать

Трейты в PHP существуют с версии 5.4, то есть относительно давно, они добавляют возможность переиспользования кода без наследования, когда один и тот же код можно использовать в совершенно не связанных между собой классах. Факт использования трейтов во фреймворке Symfony, говорит о том, что они могут без проблем вписаться в современные архитектурные решения кода и ничуть не устарели. В целом, они...