The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз языка программирования PHP 8.5

20.11.2025 13:20

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

Ключевые изменения в PHP 8.5 (1, 2, 3):

  • Добавлен оператор "|>" (pipe), позволяющий передавать значения от одной функции к другой без использования промежуточных присвоений и переменных, используя результат выполнения одной функции в качестве параметра в другой. Если функция имеет один аргумент, параметр для передачи значения выбирается через указание "...", а если у функции несколько аргументов подстановка осуществляется при помощи замыканий. Например, следующий код
    
       $output = $input 
           |> trim(...)
           |> fn (string $string) => str_replace(' ', '-', $string)
           |> fn (string $string) => str_replace(['.', '/', '…'], '', $string)
           |> strtolower(...);
    
    эквивалентен
    
       $temp = trim($input);
       $temp = str_replace(' ', '-', $temp);
       $temp = str_replace(['.', '/', '…'], '', $temp);
       $output = strtolower($temp);
    
    или
    
       $output = strtolower(
           str_replace(['.', '/', '…'], '',
               str_replace(' ', '-',
                   trim($input)
               )
           )
       );
    
  • Предоставлена поддержка присвоения новых значений клонированным объектам во время их клонирования, через передачу в функцию clone() ассоциативного массива.
    
        public function withTitle(string $title): self
        {
            return clone($this, [
                'title' => $title,
            ]);
        }
    
  • Добавлен атрибут "#[NoDiscard]", который может применяться для пометки функций, возвращаемые значения от которых всегда должны использоваться. Если возвращаемое подобной функцией значение игнорируется интерпретатор выведет предупреждение. Для обхода проверки можно использовать вызов с приведением к типу void.
    
       #[NoDiscard("you must use this return value.")]
       function foo(): string {
           return 'hi';
       }
    
       foo();           // вывод предупреждения
       (void) foo();    // Ok
       $string = foo(); // Ok
    
  • Разрешено использование замыканий (closures) и вызываемых объектов первого класса (first-class callables) в константных выражениях, в которых ранее допускалось указание неизменяемых значений, вычисляемых во время компиляции. Например, теперь можно указывать замыкания в атрибутах, значениях по умолчанию и константах. Используемые подобным образом замыкания всегда должны помечаться ключевым словом "static" и не могут обращаться в внешним переменным при помощи выражения "use".
    
       #[SkipDiscovery(static function (Container $container): bool {
           return ! $container->get(Application::class) instanceof ConsoleApplication;
       })]
    
  • При выводе фатальных ошибок к тексту сообщения теперь прикрепляется обратная трассировка (backtrace) вызовов.
  • Добавлены функции array_first() и array_last(), выводящие первый и последний элементы массива. Например, вместо
    
       $first = $array[array_key_first($array)] ?? null;
    
    теперь можно писать
    
       $first = array_first($array);
    
  • Добавлен модуль URI, предоставляющий упрощённый API для разбора ссылок. Разбор осуществляется при помощи библиотек uriparser и lexbor.
    
       use Uri\Rfc3986\Uri;
    
       $uri = new Uri('https://opennet.me/64290');
    
       $uri->getHost();   // opennet.me
       $uri->getScheme(); // https://
    
  • Реализован атрибут "#[DelayedTargetValidation]", при помощи которого можно перенести проверку атрибутов, таких как "#[Override]", со стадии компиляции на стадию выполнения.
    
       #[DelayedTargetValidation]
       #[Override]
       public const NAME = 'Child';
    
  • Добавлены функции get_error_handler() и get_exception_handler() для определения функций с обработчиками ошибок и исключений.
  • В модуле Curl реализована функция curl_share_init_persistent(), позволяющая совместно использовать дескрипторы при обработке разных запросов.
  • В модуле Exif добавлена поддержка изображений в форматах HEIF и HEIC.
  • Объявлены устаревшими: нестандартный синтаксис приведения имён типов (например, "(integer)", а не "(int)"); использование обратных кавычек (`) для вызова команд вместо shell_exec(); повторные объявления констант; использование точки с запятой вместо двоеточия для завершения операторов case; указание null вместо пустой строки массивах или в функции array_key_exists(). Из ini-файла удалена поддержка настройки "disabled_classes".


  1. Главная ссылка к новости (https://www.php.net/archive/20...)
  2. OpenNews: PHP переходит на лицензию BSD-3, совместимую с GPL
  3. OpenNews: Опубликованы результаты аудита безопасности кодовой базы PHP
  4. OpenNews: Релиз языка программирования PHP 8.4
  5. OpenNews: Уязвимость в Glibc, эксплуатируемая через скрипты на PHP
  6. OpenNews: Предварительный выпуск проекта PXP, развивающего расширенный диалект языка PHP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64290-php
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (124) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Мемоним (?), 13:27, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Добавлен оператор "|>" (pipe)

    Синтаксический сахарозаменитель какой-то

     
     
  • 2.9, IMBird (ok), 13:45, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А по мне так недурно выглядит.
    Наверное у них просто нет методов-расширений (которые прекрасны, но требуют определённого кода как в том же дотнете и усложняют жизнь системам автоподстановки) и они выкрутились таким способом.
     
     
  • 3.97, Советский инженер (ok), 19:00, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в том же дотнете тоже не у всех есть методы-расширения, зато у некоторых есть пайп оператор с рождения
     
  • 2.15, Аноним (15), 14:06, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    банальный оператор композиции, непонятно зачем это называют "трубой".
     
     
  • 3.35, Аноним (15), 15:37, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    минусатор видать с логикой не дружит, у него труба и конвейер это одно и тоже.
     
     
  • 4.88, Аноним (88), 18:40, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, просто ты путаешься в терминах. Если не профессионал - не пиши, совет такой.
     
     
  • 5.107, Аноним (15), 19:38, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Нет, просто ты путаешься в терминах

    f(g(x)) = g * f --> это называется композиция функций, * - собственно оператор композиции. И это никак не "труба", а конвейер.

    Покупая в макдаке банку колу, вы через трубочку виски пьете? А мука попавшая на кондитерский конвейер не выпечкой в итоге получается? Мука равна выпечке? Кола равна виски?

    > Если не профессионал - не пиши, совет такой.

    Вам бы сначала толковый словарь изучить, потом советы давать


     
     
  • 6.141, Аноним (15), 00:35, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кексперту

    //en.wikipedia.org/wiki/Pipeline_(software)
    """
    Connecting elements into a pipeline is analogous to function composition.
    """

    Но слово "pipeline" тут не в значении трубопровода, а конвейера, потому-что по "трубе" может течь однородная масса, что никак не укладывается в логику передачи результата от оной функции к другой, что на самом деле называют композицией - конвейером!

    //en.wikipedia.org/wiki/Pipeline_(computing)

    Термин "трубопровод" некорректен для композиций функций.

     
  • 6.142, Аноним (142), 00:37, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    твои мысли - как код на расте, вроде слова знакомые, а смысла нету.
     
  • 3.118, Аноним (15), 21:04, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Альтернативно одаренным оставлю ссылки:

    //en.wikipedia.org/wiki/Function_composition
    //en.wikipedia.org/wiki/Function_composition_(computer_science)

     
  • 3.139, Евгений (??), 00:27, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > банальный оператор композиции, непонятно зачем это называют "трубой".

    Бесплатная версия
    choose
    Windows x86 v25.6.1.1052 от 27 октября 2025 г.

     
  • 2.73, жявамэн (ok), 17:28, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    взято из руби и эликсира
     
     
  • 3.117, Аноним (117), 20:52, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    может из джулии... Откуда вы знаете...
     

  • 1.4, Аноним (4), 13:28, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Лучшейший язык пи аш пи(пи эйч пи) стал еще лучше. Странно что до сих пор нету альтернативного рантайма, как node для javascript только наоборот.
     
     
  • 2.10, IMBird (ok), 13:49, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Википедия говорит что есть и много. Сходу вспоминаю, что лицокнига и вконтакт рожали себе по рантайму.
     
     
  • 3.12, Bottle (?), 14:00, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    ВТентакле породил ужаснейшнего монстра - KPHP, который транспилирует код в C++ для его дальнейшей компиляции.
    Представили себе цену поддержки этого чудовища?
     
     
  • 4.127, Аноним (127), 22:26, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Один человек на энтузиазме. А в конторе где можно форсить какие фичи и синтаксические конструкции можно и нельзя использовать - вообще полчеловека.
     
  • 2.18, кек (?), 14:22, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > как node для javascript только наоборот.

    т.е. javascript для node?

     
  • 2.27, zionist (ok), 15:18, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Лучшейший язык пи аш пи(пи эйч пи) стал еще лучше.

    Таки пи эйч пи и только пи эйч пи. Латинизмы вроде пи аш пи и русизмы вроде пэ ха пэ - это зло.

     
     
  • 3.45, Аноним (45), 16:35, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пых он и в Африке пых.
     
  • 3.56, Бертолетова соль (?), 17:04, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На французском он пе аш пе, откуда вы тут вдохновение черпаете не знаю, румынский?
     
     
  • 4.85, zionist (ok), 18:19, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > На французском он пе аш пе, откуда вы тут вдохновение черпаете не
    > знаю, румынский?

    Причём тут французский? В оригинале PHP - это Personal Home Page, то есть английский.

     
  • 3.60, Бертолетова соль (?), 17:16, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А русская латынь, ну есть такое, что отрицать что есть, она родом из немецкой латыни которая в свою очередь из французской латыни, а вот с прочими латынями типа итальянской или английской (хотя последняя тоже из старофранцузской, но уже с разночтениями), смеха ради в итальянской таки есть "че" и это там не обсуждается, мало того что мы заимствовали "с" перед "i/e", так смешное даже не в итальянском или "нашем" подходе, а то что там везде в латыни был "к" при любой записи через "с"...
     
     
  • 4.86, zionist (ok), 18:26, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Русская латынь - это всего лишь глупая и давно устаревшая конвенция из советской средней школы и советских шахмат, корнями уходящая в дореволюционные гимназии. До сих пор в школах привыкаете к иксам и игрекам, а затем начинаете корёжить профессиональные термины, которые не имеют никакого отношение ни к латыни, ни к дореволюционным гимназиям.
     
     
  • 5.103, Аноним10084 и 1008465039 (?), 19:31, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    PHP - это непрофессиональный термин
     
  • 4.113, Аноним (-), 20:32, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >А русская латынь, ну есть такое, что отрицать что есть, она родом из немецкой латыни

    Так умник, стоп. Нет такого языка, как "немецкая латыни". Есть немецкий язык имеющий письменность основанный на латинском алфавите. В России Химия, Биология, Медицина, Математика - это латынь и греческий. Программирование - это английский. Уяснил?! Всё свободен!

     
     
  • 5.119, Аноним (119), 21:08, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Латынь классическая как язык одна, но в школах и гимназиях разных стран были разные традиции её чтения. В Германии, Франции, Англии по-своему читали. Сейчас вот есть ещё восстановленное классическое чтение - реконструкция лингвистами чтения классических времён. В восстановленном классическом чтении Caesar - как раз Кайсар, а не Цезарь.
     
  • 3.67, Бертолетова соль (?), 17:21, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот "цикл" никогда не был "чикл", а всегда был "кикл"))
     
     
  • 4.79, Аноним (15), 17:41, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    cyclus - сайклус
     
  • 4.92, Аноним (88), 18:47, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Слово cycle (сайкл) однокоренное с bicycle (байсикл) и восходит к латинскому circulos (циркулос, круг). Ну третий класс же, ну, позорище.
     
     
  • 5.93, Аноним (88), 18:49, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Или вы циркуль тоже называется чиркуль или киркуль?!
     
  • 5.102, Zulu (?), 19:27, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых circulus, не circulos. Во-вторых, да, в классической латыни это киркулус.
     
  • 5.111, Аноним (15), 19:43, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    circulus - не "циркулус", а "сюркилус"
     
  • 3.121, Pahanivo (ok), 21:29, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще то это жаргоизмы. Хотя я уже привык что "шпициализды с опена" раньше опу с пальцем сравнивали, а теперь вообще не отличают.
     

  • 1.8, 12yoexpert (ok), 13:38, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    опять сломали все плагины?
     
     
  • 2.13, Похерес (?), 14:01, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и совместимость тоже...

    Ну вот как работать, только разберешься, и на тебе, бац и уже работает не так!

     
     
  • 3.28, zionist (ok), 15:18, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот как раз повод поработать, а не ваньку валять.
     

  • 1.11, Юра (??), 13:58, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Выглядит сложнее джавы и Си++ вместе взятых.
     
     
  • 2.16, Не пыхер (?), 14:19, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну насчёт плюсов ты загнул, а вот джаву я считаю пых уже почти догнал. И в чем прикол этого языка теперь непонятно.
     
     
  • 3.31, IMBird (ok), 15:20, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Индусы. Индусы любят яву. Любят яву настолько, что изговняли весь дотнет, дабы по образу и подобию. Ведь чем больше строк напишешь, тем больше заплатят.
     
  • 2.24, Аноним (45), 14:50, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Молодежь нынче полностью не знает php все только питонисты. Сложнее сказать в чат джипити напиши мне привет мир они не могут.  
     
     
  • 3.29, Аноним (29), 15:19, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    php не особо нужен в 2025 году для новых проектов, он годится только для легаси, более того, для нормального бэкенда он и не использовался никогда. php - нескучный шаблонизатор и не более.
     
  • 3.30, zionist (ok), 15:20, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, смена поколений. PHP умрёт примерно так же и по тем же причинам, что и Perl.
     
     
  • 4.136, Bottle (?), 23:53, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего у него будет не судьба BCPL (совершенно мёртвый язык), а какого-нибудь Кобола.
     
  • 3.138, al (??), 00:05, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем он молодёжи? Время LAMP уже давно прошло. Вагон фреймворков на любом ЯП - и почти всё не такое вырвиглазное, как PHP.
     

  • 1.17, Аноним (17), 14:19, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Изменений не так много за целый год. Надо смотреть бенчмарки. Пайп оператор выглядит не очень нужным, писать на нём точно не будут т.к. он практически ничего не даёт, за то сломает обратную совместимость кода с прошлыми версиями. Тут вокруг 9.0 ходят серьёзные разговоры про дженерики и поговаривают про реализацию Pthread (пока не ясно на корутинах или нет) нативно в базовой либе. Вот таких изменений подождём однозначно.
     
  • 1.19, Аноним (19), 14:26, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    пипец, а ведь можно было использовать "..." и там, где несколько аргументов, чтоб без замыканий:

        $output = $input
            |> trim(...)
            |> str_replace(' ', '-', ...)
            |> str_replace(['.', '/', '…'], '', ...)
            |> strtolower(...);

    дизайнеры языка не могут в консистентность. Хотя, требовать от пыха консистентности глупо, весь язык адская мешанина стилей явы, си и перла (гуглить "фрактал плохого дизайна").

     
     
  • 2.22, Аноним (-), 14:31, 20/11/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.32, IMBird (ok), 15:29, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >>фрактал плохого дизайна
    >>Кстати: я обожаю Python. И с удовольствием прожужжу тебе уши, ноя о нём, если ты на самом деле этого хочешь. Я не утверждаю, что он идеален; я просто взвесил его преимущества и его проблемы и сделал вывод, что он лучше всего подходит для того, что я делаю.

    Ну т.е. питонист (лол) придолбался к штуке, которая изначально просто препроцессор страниц, эдакий веб-баш, постепенно обрастающий функциональностью. Это как явист, катящий бочку на 1С; вроде как и выглядит логично, но аргументы уровня «танк Т-90 хуже тойоты камри, ведь в танке нет Car Play и бесключевого доступа, а управление передачами вообще ужас» обычно вызывают сомнения в рассудке говорящего.

     
     
  • 3.140, Евгений (??), 00:29, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>>фрактал плохого дизайна
    >>>Кстати: я обожаю Python. И с удовольствием прожужжу тебе уши, ноя о нём, если ты на самом деле этого хочешь. Я не утверждаю, что он идеален; я просто взвесил его преимущества и его проблемы и сделал вывод, что он лучше всего подходит для того, что я делаю.
    > Ну т.е. питонист (лол) придолбался к штуке, которая изначально просто препроцессор страниц,
    > эдакий веб-баш, постепенно обрастающий функциональностью. Это как явист, катящий бочку
    > на 1С; вроде как и выглядит логично, но аргументы уровня «танк
    > Т-90 хуже тойоты камри, ведь в танке нет Car Play и
    > бесключевого доступа, а управление передачами вообще ужас» обычно вызывают сомнения
    > в рассудке говорящего.
     

  • 1.21, Не пыхер (?), 14:30, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кстати а что там по оптимизациям? В прошлых релизах все ускоряли и ускоряли, в этом релизе ни слова
     
     
  • 2.143, Аноним (142), 00:42, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в этом релизе ломали совместимость
     

  • 1.26, Аноним (29), 15:16, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ну язычок он то не особо в 2025, ни в каких нормальных компаниях он не идёт как основной, это так себе язычок на сегодня, хотя совсем копеечных вакансий полно для него. Увы, пых упустил возможности быть серьёзным язычком.
     
     
  • 2.33, penetrator (?), 15:30, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    но легаси помирать будет еще долго
     
     
  • 3.37, Аноним (29), 15:43, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для легаси много программистов не надо, а так пых на слуху только благодаря вордпресу, ну и всякий колхоз использует пых для простеньких сайтиков, это не считается. Увы, пых ждёт судьба перла.
     
     
  • 4.39, Аноним (45), 16:07, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В целом для пыха много программистов не надо. А людей которые готовы заплатить за быстрый результат всегда много.
     
  • 4.58, Аноним (58), 17:07, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, уже, наверное, лет 10 php-все, а сайты все производят и производят, wp, bitrix, laravel... вот это вот все, и на этом вот всем работает почти весь инет по сей день, а сколько еще это будут поддерживать, обновлять, дополнять да и зачем отказываться от его использования, в угоду чего, python? Как-то особых преимуществ вроди и нет перед php.
     
     
  • 5.61, Аноним (29), 17:16, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пых - безтиповый язычок, тяп ляп и готово. typescript + go хоть проверяют типы данных на стадии компиляции, а пых такого не может, там любая лапша сойдёт. А питон не особо лучше пыха, не понимаю хайпа вокруг него.
     
     
  • 6.63, Аноним (58), 17:18, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мож завезут строгую типизацию, а?
     
     
  • 7.66, Аноним (29), 17:21, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это похапистам придётся переписывать тот шлак, что они писали десятилетиями, это будет не пых а новый язычок уже.
     
     
  • 8.109, Аноним (58), 19:39, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Будет чем заняться, хорошо же А то чат жопетэ чат жопетэ ... текст свёрнут, показать
     
  • 6.122, Аноним (122), 21:44, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >пых - безтиповый язычок, тяп ляп и готово

    С подключением. В пыхе уже есть типы, хотя, как и пологается языку не из ML семейства(Haskell, Ocaml, Rust) не в полной мере. В общем как в ts можно написать ерунду, так и на пыхе.
    >typescript + go хоть проверяют типы данных на стадии компиляции

    Пых не требует компиляции. Вместо этого проверка осуществляется во время исполнения. Если хотите, можете взять psalm, phpstan, phan и так далее. При этом скорость запуска пыха - мгновенная. Так что тут пых однозначно TS превосходит
    >А питон не особо лучше пыха, не понимаю хайпа вокруг него.

    Питон хуже, там аннотации типов вообще никак интерпретатором не учитываются.

     
  • 5.76, Анон1110м (?), 17:35, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    JavaScript. Непонятно почему яваскриптёры считают свой ЯваСценарий лучше а себя элитнее.
     
     
  • 6.81, Аноним (29), 17:43, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное, потому что зарплата повыше чем в пыхе, да и типизация с асинхронщиной в ts есть. Вот и гордятся...
     
     
  • 7.98, Аноним (98), 19:01, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Наверно поэтому джаваскрипт и хуже, что программисты дороже.
     
     
  • 8.100, Аноним (29), 19:06, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    JavaScript не хуже пыха уж точно, а вот хуже чем го или си шарп в бэкенде, но эт... текст свёрнут, показать
     
     
  • 9.114, Анон1110м (?), 20:36, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, что одно что второе очень так себе ... текст свёрнут, показать
     
  • 3.101, Мохнонос (?), 19:16, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    2009 год хоронят:
    https://www.opennet.me/openforum/vsluhforumID3/56272.html#1

    2007 год хоронят:
    https://www.opennet.me/openforum/vsluhforumID3/38291.html#1

    всё никак не похоронят. А PHP - отличный язык, коль писать грамотно, да умеючи.

     
  • 2.38, Аноним (45), 16:06, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Прямо сейчас продавая Пых проекты заработал на дом и машину. И заказчики только просят ещё.
     
     
  • 3.41, Аноним (29), 16:23, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проекты в какой сфере?
     
     
  • 4.43, Аноним (45), 16:33, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Продажи
     
     
  • 5.51, Аноним (29), 16:47, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну так индивидульные сайтики можно клепать в чём угодно, для прода же пых не подходит ни для бэкенда, ни для нормального фронтенда, вот такой вот франкенштейн. Рад, что у вас получается зарабатывать на пыхе деньги.
     
     
  • 6.95, Аноним (98), 18:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Есть такое дело что заказчику пофиг на каком языке у него результат ему главное чтобы работало и решало задачи, даже если он просто менеджер.      
     
     
  • 7.99, Аноним (29), 19:03, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если сайтик только для внутреннего пользования для десятка человек, и масштабирование не нужно в будущем, то да. Разные бывают сайтики.
     

  • 1.40, Аноним (40), 16:16, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Единственный язык, в котором при обновлении редко что-то ломается из зависимостей. Вспоминаю ноду, дарт или питон. Особенно питон, у которого даже при обновлении минорки отваливается половина зависимых пакетов.
     
     
  • 2.44, 1 (??), 16:33, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Единственный язык, в котором при обновлении редко что-то ломается

    Ну вспомни переход от 5.3 к 5.4

     
     
  • 3.46, Аноним (45), 16:35, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо такое вспоминать.
     
  • 3.82, Аноним (40), 17:46, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    5.4 позиционировался как 6.0, которая так и не вышла.
     
  • 2.48, Аноним (45), 16:36, 20/11/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

  • 1.49, Аноним (49), 16:41, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Было title PHP 8 5 Released slug strtolower str_replace , ... большой текст свёрнут, показать
     
     
  • 2.135, Аноним (135), 23:52, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне одному кажется, что было лучше и читабельнее?

    Абсолютно верно. Более того в новом варианте как-бы перевернут порядок выполнения. Кажется что trim последняя операция.

     

  • 1.50, Gemorroj (ok), 16:46, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    проходной релиз так-то. ждем true async.
     
     
  • 2.53, Аноним (29), 16:50, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Даже при наличии нативной асинхронности, пыху нужны нормальные типы данные при компиляции, не только в рантайме, с этим у пыха беда.
     
     
  • 3.116, Someone (??), 20:47, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Этого никогда не будет, потому что это будет сильнейший удар по быстродействию в рантайме.
    Как таковой, отдельной компиляции в пыхе нет.
     
  • 3.125, Фняк (?), 22:04, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    kphp к вашим услугам
     
  • 2.55, Аноним (49), 17:00, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это будет сложно сделать.

    В каком-нибудь JS изначально были коллбэки, условным Promisify проблема решается.

    А в PHP всё синхронно. Даже если закрыть глаза на глобальное состояние (superglobals и тп), в конце концов это всё можно решить костылём, привязав globals к конкретному условному гринтреду, то что делать с условным $db->query(), как отличить promise от значения? Если расставлять везде await, в мусорку идет 99% написанного кода - не годится.

    Можно придумать какой-то костыль, когда обычное обращение к Promise неявно делает await, а чтобы его оставить, надо написать какой-нибудь условный defer, но это явно будет крайне непросто реализовать

     
     
  • 3.65, Gemorroj (ok), 17:20, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты не в теме) https://externals.io/message/129300
     
     
  • 4.83, Аноним (29), 17:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чувак пишет в том треде:

    Meanwhile, please cancel this vote. There is no rush.

    If we get it right, this could be the most significant feature added to
    PHP for 10 years or more. If we get it wrong, we might regret it for 20
    years.

    То есть, там только обсуждение только, а сама асинхронность будет через несколько лет, а пыхеры массово начнут ей пользоваться ещё через N лет.

     
  • 4.84, Аноним (29), 18:04, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А вот и результаты голосования, лол:

    https://wiki.php.net/rfc/true_async#voting_choices

     
  • 3.123, Аноним (122), 21:48, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В каком-нибудь JS изначально были коллбэки, условным Promisify проблема решается.

    Не надо нам поганого жопоскрипта, мы не хотим языка с цветными функциями.

     
  • 2.77, Анон1110м (?), 17:38, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да? И асинхронность всё ускоррит в 10 раз?
     
     
  • 3.80, Аноним (29), 17:42, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не в 10, а в 2-3 раза точно.
     
     
  • 4.115, Анон1110м (?), 20:42, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не верю.
     
  • 4.144, Аноним (142), 00:45, 21/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    и не ускорит, а замедлит
     

  • 1.52, Аноним (58), 16:49, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, а кому-то не хватает и без того довольно обширного синтаксиса/сахара? Ощущение что эти версии штампуются ради штамповки хоть что нибудь, но новая версия, и это не только php касается. Нафига все это надо, и кому, впрос. А сахар в больших кол-вах большой пользы не приносит и даже в программировании.
     
     
  • 2.54, Аноним (29), 16:51, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они хотят быть похожими на джаву/спринг из-за их солидности, однако это всё не нужно, и смотрится смешно.
     
  • 2.68, Gemorroj (ok), 17:23, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    это Larry Garfield говнякает. этот персонаж специализируется на добавлении всякого неудобоваримого сахара.
    https://externals.io/message/128473
     
     
  • 3.71, Аноним (29), 17:27, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Напиши ему, чтобы он не добавлял всякую шляпу в пых.
     

  • 1.57, Соль земли2 (?), 17:04, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    1995: PHP is dead, learn ColdFusion
    2002: PHP is dead, learn ASP .net
    2003: PHP is dead, learn Django
    2004: PHP is dead, learn Ruby on Rails
    2010: PHP is dead, learn Flask
    2011: PHP is dead, learn AngularJS
    2016: PHP is dead, learn Next.js
    2022: okay this is awkward
     
     
  • 2.59, Аноним (29), 17:10, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ASP с си шарпом в нормальных компаниях до сих пор используются, и намного круче пыха.
     
  • 2.72, 1 (??), 17:28, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Интересно - ЯП сравнивается с фреймворками.

    Это как }|{0пу с пальцем сравнивать.

     
     
  • 3.128, Аноним (127), 22:36, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ничего что PHP - фреймворк с самого рождения? То что там свой язык используется вообще не роляет, ибо ни для чего больше он не пригоден.
     
  • 2.87, zionist (ok), 18:34, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Таков удел фронтэнда. Поэтому многие вообще не хотят в него заходить, даже в виде фулстак. Говорю в том числе и из личного опыта.

     
     
  • 3.91, Аноним (29), 18:45, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то, и в бэкенде тоже не одним язычком всё ограничивается, монолиты на же джаве со спрингом и си шарпом с нэт уже не так популярны, как лет 15 назад. Программирование - штука такая, всю жизнь надо учить что-то новое.
     

  • 1.62, jura12 (??), 17:17, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Обновления и ломка языка надоели. php устарел. Нормальные патсаны на питоне или на ноде сайте делают. Я на статические перешёл.
     
     
  • 2.64, Аноним (58), 17:20, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Я на статические перешёл.

    Енто на какой?

     
     
  • 3.69, jura12 (??), 17:24, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Astro.
     
  • 2.70, Аноним (29), 17:26, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не то что устарел, просто появились конкуренты с какой ни какой, но строгой типизацией. Да и отсуствие нативной асинхронности делает выбор не в пользу пыха. Вот два ключевых огромных недостатка.
     
     
  • 3.94, Аноним (94), 18:49, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие конкуренты? Популярность PHP 73%. Ближайший конкурент Ruby - 6%.
     
     
  • 4.96, Аноним (29), 18:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Популярность среди хомячков, которым нужна просто страничка в интернетике. Абсолютно точно, что пых популярен, но это всё дремучее легаси и примитивщина, на пыхе ничего сложнее CRUD не делают, бложики всякие и админки - да, это максимум пыха. Для современного нагруженного веба, где всё поделено на фронтенд и бэкенд, а бэкенд поделен на монолиты и микросервисы, пых вообще не подходит.
     
     
  • 5.104, Аноним (58), 19:35, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Для современного нагруженного веба, где всё поделено на фронтенд и бэкенд, а бэкенд поделен на монолиты и микросервисы

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

     
     
  • 6.106, Аноним (29), 19:38, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для решения этой проблемы давно придуман graphql.
     
     
  • 7.112, Аноним (58), 19:45, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Или статические генераторы, но надо сказать они не для всего вэба.
     
  • 5.105, Аноним (58), 19:37, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    При этом пхп сформировал страницу и показал пользователю и все. Все что и требуется от бэка. Так что пхп он хороший ;)
     
     
  • 6.108, Аноним (29), 19:39, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага, вот только он начинает пыхтеть от запросов, когда сайтик становится более популярным.
     
     
  • 7.110, Аноним (58), 19:43, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Именно, а они сахаром занимаются...
     
  • 5.120, NULL (??), 21:11, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Несогласен, мы на нем реализовали ерп систему в 2023 используя симфу, самый ближайший родственник по возможностям это джава со спрингом, ни у кого больше нет полноценных фреймворков из-за чего приходится жонглировать 100500 пакетами и писать кучу оберток чтоб все работало, го мы оставили только для узкоспециализированных потребностей, типа аналитических отчётов, использовать дж и питон на беке упаси боже
     
     
  • 6.130, Аноним (29), 22:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну это вы пишите про внутрикорпоративный сайтик, где нагрузка и не важна, а бизнес логика может быть сколько угодно обширной. А где есть нагрузка, там symfony не прокатит. И в чём проблема с js на бэке? Она получше пыха то точно. Да, батареек как в spring в js фреймворках нет (из-за позднего появления ноды), но на бэке это и не нужно. На бэке куда важнее стабильность ORM и работа с очередями, которую нода предоставляет. Уязвимости? В компостере тоже полно уязвимостей, просто они вообще не раздуваются на опеннете, как в случае с npm.
     
     
  • 7.131, NULL (??), 23:20, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Найти джс бекендера не для груда анриал, а те что есть приходят из фронта где вообще ничего не знают про архитектуру и паттерны. Лично для нас уязвимости не первый фактор, так как система в закрытом контуре
     
  • 7.137, Аноним (135), 23:59, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А где есть нагрузка...

    ... там пилим нативные модули, оставляя минимум ПХП кода.

     
  • 2.129, SubGun (ok), 22:40, 20/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На питоне....сайт. Ясно-понятно.
     

  • 1.133, Аноним (133), 23:44, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мертвый язык пытается бороться за жизнь самоуложнением на ровном месте
     
  • 1.134, Аноним (133), 23:45, 20/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вместо того чтобы наоборот вводить strict режим в котором порезать к чертям всякие левые глупые возможности, они наоборот накручивают какой то фигни которая окончательно сделает код не читаемым
     
  • 1.145, Аноним (142), 00:47, 21/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пайпы куда хуже выглядят, чем аналоги.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру