Статьи с тегом «PHP»

BackendPHP

PHP: Что такое Интерфейс

Что такое PHP-интерфейс? PHP интерфейс определяет контракт, который должен выполнить класс. Если PHP класс — это схема объектов, то интерфейс — это схема классов. Любой класс реализующий данный интерфейс, будет иметь одинаковое поведение с точки зрения того, что можно вызвать, как его можно вызвать и что будет возвращено.
BackendPHP

PHP: Продление срока службы легаси приложений

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

PHP: Зачем следовать PSR-20

Недавно была выпущена спецификация PHP Standards Recommendation 20, призванная помочь разработчикам использовать общий интерфейс получения системных даты и времени. Это важная рекомендация, если вам необходимо протестировать PHP код, манипулирующий системной датой и временем.
BackendPHP

PHP 7.4: Строгая типизация против Слабой

В PHP 5 ввели объявление типов (также известное как подсказки типов), которые позволяют функциям требовать, чтобы параметры имели определённый тип во время вызова. Если заданное значение имеет неправильный тип, то генерируется ошибка: в PHP 5 — исправимая фатальная ошибка, а в PHP 7 — исключение TypeError.
PHPBackend

PHP 8.3: unserialize() обновление ошибки E_NOTICE до E_WARNING

PHP представляет функции serialize() и unserialize() для сериализации любого значения PHP (строки, целые числа, объекты, NULL, массивы, перечисления и т. д.) и восстановление PHP-значения из этого строкового представления.
BackendPHP

PHP 8.2: Readonly-классы / классы только для чтения

В PHP 8.2 введён новый способ объявления классов: readonly-классы. Поскольку readonly-классы — просто синтаксический сахар для того, что бы сделать все свойства класса доступными только для чтения, это означает, что те же правила применяются и к readonly-классам.
BackendPHP

PHP 8.1: Клонирование и изменение readonly-свойств

В PHP 8.1 введены readonly-свойства. Они избавляют от множества проблем, но и добавляют новую — запрет на переопределение readonly-свойств клонированного объекта. Давайте разберёмся с решением этой проблемы и найдём обходной путь.
PHPBackend

PHP: Интерфейсы vs Абстрактные классы

Недавно я опубликовал статью об улучшении PHP кода с помощью интерфейсов. Она охватывает основы того что такое интерфейс, что он может делать. И как вы можете использовать его сделав свой PHP код более расширяемым и поддерживаемым. Один из вопросов, заданных в комментариях к статье был от разработчиков, которые хотели знать "когда я должен использовать интерфейс вместо абстрактного класса?". Я подумал и решил написать статью, что бы объяснить различия между абстрактными классами и интерфейсами в PHP и дать краткий обзор того, когда вы должны использовать каждый из них.