TGViewer
Библиотека собеса по PHP | вопросы с собеседований Библиотека собеса по PHP | вопросы с собеседований @php_interview_lib · 3.1K subscribers
Post #759 1.55K
Что нового в РНР 8?

🚀 PHP 8.0

JIT-компиляция: Just-In-Time компилятор улучшает производительность, особенно в вычислительных задачах.

Атрибуты (аннотации): Позволяют добавлять метаданные к классам, методам и свойствам, улучшая читаемость и поддержку кода.

Сопоставление с образцом (match expression): Более строгая и удобная альтернатива конструкции switch.

Промоция свойств конструктора: Уменьшает количество кода при объявлении свойств в конструкторе.

Объединённые типы (union types): Позволяют указывать несколько типов для параметров и возвращаемых значений.

Оператор nullsafe (?->): Упрощает работу с возможными null значениями, предотвращая ошибки.

Новые строки функций: str_contains(), str_starts_with(), str_ends_with() — для удобной работы со строками.

Интерфейс Stringable: Упрощает работу с объектами, которые могут быть приведены к строке.

Функция get_debug_type(): Предоставляет точный тип переменной для отладки.​

🔧 PHP 8.1

Перечисления (enums): Позволяют создавать наборы констант с типовой безопасностью.

Только для чтения свойства (readonly): Свойства, которые можно инициализировать только один раз.

Тип never: Указывает, что функция никогда не возвращает значение (например, всегда выбрасывает исключение).

Синтаксис для первого класса callable: Упрощает создание и использование функций как объектов.

Fibers: Позволяют реализовывать кооперативную многозадачность, полезно для асинхронного кода.​

🧪 PHP 8.2

Типы null, false, true как отдельные типы: Улучшает типовую безопасность.

Динамические свойства устарели: Предотвращает ошибки при случайном добавлении свойств в объекты.

Атрибут #[SensitiveParameter]: Помечает параметры, содержащие чувствительную информацию, для предотвращения их логирования.

🔍 PHP 8.3

Типизация констант классов: Позволяет задавать типы для констант внутри классов.

Атрибут #[\Override]: Указывает, что метод переопределяет родительский.

Глубокое копирование только для чтения свойств: Обеспечивает корректное поведение при копировании объектов.

Новые функции для работы с случайными значениями: Упрощают генерацию случайных данных.

🧩 PHP 8.4

Хуки свойств (Property Hooks): Возможность определять логику для геттеров и сеттеров непосредственно в свойстве, что упрощает код и уменьшает количество шаблонного кода. ​

Асимметричная видимость (Asymmetric Visibility): Позволяет задавать разные уровни доступа для чтения и записи свойств, например, сделать свойство доступным только для чтения. ​

Инстанцирование классов без скобок: Теперь можно вызывать методы сразу после создания объекта без необходимости оборачивать конструкцию в дополнительные скобки. ​

Новые функции для работы с массивами: array_find(), array_find_key(), array_any(), array_all() упрощают поиск и проверку элементов в массивах. ​

Поддержка HTML5 в расширении DOM: Расширение DOM теперь поддерживает HTML5, улучшая работу с современными веб-страницами. ​

Новые функции для работы со строками: mb_trim(), mb_ucfirst(), mb_lcfirst() предоставляют дополнительные возможности для обработки многобайтовых строк.

Поддержка HTTP/3 в cURL: Добавлены константы CURL_HTTP_VERSION_3 и CURL_HTTP_VERSION_3ONLY для работы с протоколом HTTP/3. ​

Новые методы для DateTimeImmutable: Методы createFromTimestamp() и get/setMicrosecond() облегчают работу с временными метками и микросекундами.
  • ❤ 3
  • 👍 2
  • ❤‍🔥 1
More from @php_interview_lib
  1. Sep 15, 2026❓ Расскажите о паттерне Bridge Bridge — это структурный паттерн, который разделяет абстрак…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 4, 2026Какова разница между «cookie» и «session»? В PHP «cookie» и «session» — это механизмы упра…
  4. Aug 4, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 4, 2026Один доступ вместо вечного выбора между «нужно для работы» и «давно хотелось изучить» 👇
  6. Jul 31, 2026❓ Объясни разницу между Gate и Policy в Laravel? Оба инструмента для авторизации, но с раз…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →