Что ты ожидаешь от будущих версий PHP?

Ответ

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

  1. Производительность и JIT: Дальнейшая оптимизация JIT-движка (OPcache) для математических операций и долгоживущих скриптов, что критично для высоконагруженных микросервисов и фреймворков вроде Laravel Octane.

  2. Система типов (Type System):

    • Введение типизированных свойств (type properties) по умолчанию, а не только через аннотации.
    • Поддержка псевдонимов типов (type aliases) для сложных union-типов, например type StatusCode = 200|404|500;.
    • Более строгие проверки типов в runtime для режима strict.
  3. Синтаксические улучшения (синтаксический сахар):

    • Принятие pipe-оператора (|>) для цепочек вызовов, как в функциональных языках, что улучшит читаемость.
      // Возможный будущий синтаксис (RFC)
      $result = $collection
      |> array_filter($$, fn($item) => $item->isActive())
      |> array_map($$, fn($item) => $item->getId());
    • Упрощение работы с nullable-цепочками вызовов (nullsafe operator) для методов.
  4. Асинхронность и параллелизм: Развитие Fibers (введенных в PHP 8.1) и появление более высокоуровневых абстракций для асинхронного ввода-вывода, что позволит эффективнее работать с множеством внешних API или соединений с БД без блокировок.

  5. Безопасность и современные криптографические примитивы: Встроенная поддержка более современных алгоритмов и упрощение их использования.

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

Ответ 18+ 🔞

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

  1. Производительность и JIT. Ну, JIT — это, конечно, огонь, его в 8-м завезли. Но хочется, чтобы он ещё лучше жрал математику и долгие скрипты. Особенно для всяких нагруженных микросервисов или там под Laravel Octane. Чтобы просто овердохуища скорости было, а не так, чтобы один запрос полсекунды думал.

  2. Система типов — тут просто пиздец какой простор. Сейчас типы в свойствах — это хорошо, но они через аннотации. Хочется, чтобы прямо по умолчанию можно было писать private int $id; и всё, без всяких @var. И ещё, бля, псевдонимы для типов — это же элементарно! Чтобы не писать везде int|string|null, а объявить раз type Id = int|string|null; и потом function find(Id $id). Удивление пиздец, что этого до сих пор нет. И давайте уже runtime-проверки в strict-режиме по-настоящему жёсткие, а то иногда такое проскакивает...

  3. Синтаксический сахар — без него никуда. Pipe-оператор (|>) — это просто мечта. Чтоб цепочки вызовов не в одну строчку, а красиво. Смотри, как могло бы быть:

    $result = $collection
        |> array_filter($$, fn($item) => $item->isActive())
        |> array_map($$, fn($item) => $item->getId());

    Красота же, ёпта! И nullsafe-оператор для методов надо бы доработать, чтобы совсем хитрая жопа не выходила с вложенными проверками.

  4. Асинхронность. Fibers — это крутая задумка, но пока как-то сыровато. Хочется нормальных высокоуровневых абстракций, чтобы можно было без головной боли десять запросов к API кинуть одновременно и не ждать, пока каждый по очереди выполнится. А то сейчас либо городить костыли, либо терпения ноль ебать.

  5. Безопасность. Тут всё просто: встроить самые современные алгоритмы шифрования и подписи, чтобы не искать на Packagist библиотеки, в которых доверия ебать ноль. Пусть будет из коробки, надёжно.

И знаешь, что самое главное? Что PHP, при всех этих новшествах, старую лапшу-код не ломает. Можно потихоньку легаси-проект апгрейдить, а не переписывать с нуля, как будто на дворе 2002-й год. Вот это я уважаю.