The OpenNET Project / Index page

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

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

21.11.2024 13:04

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

Ключевые изменения в PHP 8.4:

  • Предложена новая реализация JIT-компилятора, построенная на базе IR Framework. Ключевое отличие в том, что старый JIT напрямую генерировал машинные инструкции на основе байткода и с использованием разных бэкендов для архитектур x86_64 и AArch64, а новый JIT использует единый для всех архитектур бэкенд и генерирует промежуточное представление (IR), которое затем дополнительно оптимизируется и преобразуется в машинные инструкции для нужной целевой платформы.
  • Добавлена поддержка прикрепления обработчиков свойств (property hook), позволяющих добавить дополнительную логику, выполняемую при изменении или доступе к свойствам объекта, реализуемую без перехвата операций чтения и записи при помощи общих функций __get и __set, и без создания дополнительных методов-обвязок. Применение обработчиков свойств даёт возможность существенно сократить объём кода и упростить переопределение поведения работы со свойствами, благодаря привязке собственного обработчика к каждому свойству.
    
       class User 
       {
           public string $name {
               set {
                   if (strlen($value) === 0) {
                    throw new ValueError("Name must be non-empty");
                   }
                   $this->name = $value;
               }   
           }
     
           public function __construct(string $name) {
               $this->name = $name;
           }
    }
    
  • Разрешено указание ссылок на методы в конструкции "new" без отделяющих скобок, т.е. вместо "$name = (new MyClass())->method()" теперь можно указывать "$name = new MyClass()->method()".
  • Добавлена возможность асимметричного управления видимостью свойств объектов (public, private, protected), отдельно для операций записи (set) и чтения (get). Например:
    
       class PhpVersion
       {
           public private(set) string $version = '8.4';
       }
    
       $phpVersion = new PhpVersion();
       var_dump($phpVersion->version); // string(3) "8.4"
       $phpVersion->version = 'PHP 8.3'; // error
    
  • Предоставлена штатная поддержка "ленивых" объектов (lazy), инициализация которых производится в момент первого использования.
  • Вместо общего параметра "opcache.jit_buffer_size" для управления JIT-компилятором и настройки размера буфера JIT предложены параметры "opcache.jit" и "opcache.jit_buffer_size". Для отключения JIT теперь можно указывать "opcache.jit=disable" вместо "opcache.jit_buffer_size=0". Внесены изменения, снижающие потребление памяти и повышающие производительность JIT в некоторых ситуациях.
  • Добавлен атрибут "#[\Deprecated]", предназначенный для пометки устаревших функций, классов и методов.
    
       #[\Deprecated("use newFunction() instead", since: "1.1")]
       function oldFunction() {
           // …
       }
    
  • Реализован класс \Dom\HTMLDocument, поддерживающий корректный разбор разметки HTML5.
  • Добавлена функция request_parse_body() для разбора HTTP-запросов с типом контента multipart/form-data (RFC1867).
  • Добавлены функции array_find(), array_find_key(), array_any() и array_all(). Функции array_find() и array_find_key() возвращают первый элемент или ключ в массиве, для которых сработала проверка, заданная через указанную пользователем callback-функцию. В свою очередь функции array_any() и array_all() возвращают любой совпавший элемент и все совпавшие элементы. Например, для вывода первого элемента, размер поля title в котором больше 5 символов, можно указать:
    
       $firstMatch = array_find(
           $posts, 
           function (Post $post) {
               return strlen($post->title) > 5; 
           }
       );
    
  • Добавлены методы DateTime::getMicrosecond() и DateTimeImmutable::setMicrosecond($microsecond) для получения и установки времени с микросекундной точностью, а также метод DateTime::createFromTimestamp().
  • В PDO (PHP Data Objects), абстрактный интерфейс для работы с базами данных, добавлена возможность создания парсеров SQL и субклассов, специфичных для определённых драйверов СУБД. Добавлены новые субклассы Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc и Pdo\Sqlite.
  • Добавлены новые функции mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), mb_lcfirst(), bcceil(), bcdivmod(), bcfloor() и bcround(), pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), pcntl_waitid(), http_get_last_response_headers(), http_clear_last_response_headers(), fpow()
  • Операции exit и die теперь можно вызывать в форме полноценных функций, которые допускается передавать в качестве аргумента в другие функции. Ранее возможности функций exit() и die() были сильно ограничены, так как они представляли собой обвязки над ключевыми словами exit и die.
  • Добавлены изменения, усложняющие эксплуатацию уязвимостей, вызванных выходом за границы буфера, а также усиливающие рандомизацию имён файлов, создаваемых через функцию tempnam().
  • Объявлено устаревшим поведение, при котором для параметров функций с присвоенным по умолчанию значением null автоматически разрешалось присвоение значений null. Для того, чтобы подобные параметры могли принимать значения null теперь требуется явное указание префикса "?". Например, вместо "function save(Book $book = null) {}" следует указывать "function save(?Book $book = null) {}".
  • Объявлены устаревшими константы E_STRICT, MYSQLI_REFRESH_*, функции mysqli_ping(), mysqli_kill(), mysqli_refresh(), методы mysqli::ping(), mysqli::kill(), mysqli::refresh(), возможность использования "_" в качестве имени класса, некоторые свойства DOMDocument и DOMEntity. Запрещено переопределение констант класса GMP, для которого теперь выставлено ключевое слово "final".

Дополнительно, можно отметить выпуск статического анализатора PHPStan 2.0, позволяющего находить ошибки в коде на языке PHP без его выполнения и использования unit-тестов. Анализатор предоставляет 10 уровней, охватывающих такие области, как выявление неопределённых переменных, неизвестных классов, функций и методов; проверка типов аргументов и возвращаемых значений; корректность использования некоторых типов; определение никогда не вызываемого кода. Код проекта написан на языке PHP и распространяется под лицензией MIT.

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


Обсуждение (132) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, ijuij (?), 13:32, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем-то он уже напоминает C#.
     
     
  • 2.9, _kp (ok), 13:45, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Слишком много денежного фетишизма в синтаксисе языка.
    Еще убрать немного лишнего, и будет красиво.
     
     
  • 3.12, Аноним (12), 14:07, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +10 +/
    C$ ?
     
     
  • 4.126, Вы забыли заполнить поле Name (?), 03:12, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >  C$ ?

    И лозунг make C great again!

     
  • 3.37, Аноним (37), 15:12, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так это ещё с перла пошло называть переменные так.
     
     
  • 4.125, _kp (ok), 02:00, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда то и верить в плоскую землю было нормой.
    А раз уж все равно совместимость поломали, делая шаг вперед, так не мелочились бы. Похерили бы и рудитменты. И написали б конвертер исходников, на php же подобное элегантно можно  написать.
     
  • 4.127, Вы забыли заполнить поле Name (?), 03:13, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > это ещё с перла пошло так

    В начале был баш!

     
  • 3.128, Вы забыли заполнить поле Name (?), 03:14, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Еще убрать немного лишнего, и будет красиво.

    Не будет.

     

  • 1.7, Аноним (7), 13:37, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    из обычного, простого языка сделали какое-то недоразумение, изменения ради изменений

     
     
  • 2.10, commiethebeastie (ok), 13:46, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Сделали нормальный язык, а не мама, я сделяль сайт.
     
     
  • 3.15, Анон1110м (?), 14:14, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Как будто его переориентировали на другие задачи. Он и раньше был относительно нормальным для своих задач.
     
     
  • 4.22, Аноним (22), 14:51, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    есть опыт написания DHCP сервера на PHP
     
     
  • 5.57, Аноним (57), 17:24, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть) Отлично работает и на 5 версии, и на 7 и на 8) но другой вопрос зачем использовать то, что не нужно использовать.
     
  • 5.163, анонимус (??), 21:07, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На брейнфаке тоже можно написать.
    Но зачем?
     
  • 3.33, Аноним (37), 15:02, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > мама, я сделяль сайт

    Что в этом плохого? В то время можно было в одиночку целый сайт сделать и даже зарабатывать на посетителях, причем хотя его на бесплатном хостинге. Знал чела, который в 13 сделал сайт на пхп как раз, кажется в году 2006, в 2010 там посещаемость была уже сотни тысяч, сайт называть не буду, но многие около айтишники хоть раз да натыкались на него.

     
     
  • 4.52, Уникум (?), 16:42, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    anime.su?
     
     
  • 5.60, Аноним (60), 17:37, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты форумом ошибся кажись.
     
  • 4.77, Аноним (77), 19:14, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Что в этом плохого?

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

    А в чём проблема сейчас, на современном php вместе с фреймворками сделать в одиночку целый сайт? Сейчас, даже проще, учитывая, что на php можно писать не только веб формочки, но и высоконагруженные сервисы.

     
     
  • 5.124, Аноним (124), 23:59, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это простота и была главной фичей PHP. Как "нормальный" язык у него нет будущего, сейчас ченжлоги выглядят как ченжлоги питона 10-летней давности или ченжлоги джавы 20-летней, это просто смешно. Все чем они сейчас занимаются это пытаются удержать существующую базу пользователей от перехода на другие языки, но это тупиковый путь.
     
     
  • 6.141, Аноним (141), 10:02, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да пусть ломают к херам !
    Чес быстрее всех задолбают своим сахаром, тем быстрее появиться новый РНР
     
  • 3.38, Аноним (7), 15:15, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    у пхп уже есть своя ниша, в которой он хорош, так же как существующие другие языки, которые занимают свои ниши. Соперничать с ними, переусложняя язык ненужным синтаксическим сахаром - плохая идея. Своими действиями они отталкивают часть прежних пользователей языка и не дают ничего нового потенциальным новым пользователя.

    в итоге есть шанс остаться у разбитого корыта.

     
     
  • 4.79, Аноним (77), 19:20, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >у пхп уже есть своя ниша, в которой он хорош, так же как существующие другие языки, которые занимают свои ниши. Соперничать с ними, переусложняя язык ненужным синтаксическим сахаром - плохая идея.

    Ниша php это сайты, и для них он подходит всё лучше и лучше. А вот сайты на старых версиях пхп трогать страшно, они разваливаются от малейшего чиха.

     
     
  • 5.132, Аноним (7), 05:39, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    работает? не трогай!
     
  • 4.140, Аноним (141), 10:01, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    так видимо в этом и цель !

    а учитывая то, что и другие языки уродуются тем же "сахаром",похоже на то что все яп-ы подгоняются под ОДИН, универсальный, причём слабо понятный для человека, но прекрасно понимаемый ИИ

     
  • 4.145, тоже Аноним (ok), 12:07, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то новые версии практически не мешают писать в стиле РНР4. Другое дело, что написанный в таком стиле сайт, скорее всего, будет нежизнеспособен или, как минимум, непригоден к развитию.

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

     
  • 2.30, Сталин (?), 15:00, 21/11/2024 Скрыто ботом-модератором     [к модератору]
  • –4 +/
     
  • 2.55, nw (?), 16:55, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это обычная ситуация для любого языка, который продолжает развиваться. Он начиается обрастать сахаром и доп.функиционалом. Из-за этого кажется монструозным.
     
     
  • 3.133, Аноним (7), 05:40, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    это ошибочный взгляд, что если в язык не добавляют новых фич - он умирает. Но из-за таких взглядов и происходят эти изменения ради изменений.
     
  • 2.80, Аноним (80), 19:22, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё ради того, чтобы не улучшать питон или не заниматься фриганством.
     

  • 1.8, Аноним (8), 13:43, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    PHP десятилетиями хоронят, а он не просто жив, но и развивается.
     
     
  • 2.11, Аноним (11), 13:58, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это не развитие. Это отчаянные попытки вернуть тех, кто сваливал с него на протяжение последнего десятилетия. Типа "смотрите, у нас теперь тоже есть get/set-обработчики свойств, все как у больших дядей; вернитесь позязя... -_-"
     
     
  • 3.17, Аноним (17), 14:17, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Представьте себе, есть проекты, которые живут и развиваются десятилетиями, без ежегодного переписывания всего кода на язык, который сегодня в тренде. Вот для тех, кто по тем или иным причинам лет 10-15 назад выбрал PHP (а для ряда проектов это было вполне разумное решение), это всё очень полезно.

    Сейчас, конечно, начинать новый проект на PHP я не знаю зачем.

     
     
  • 4.20, Анон1110м (?), 14:21, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А на чём стоит начинать и почему? Под проектом конечно же подразумевается очередной сайтик. PHP вдруг стал плохо подходить для очередного сайтика?
     
  • 4.42, пох. (?), 15:32, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Представьте себе, есть проекты, которые живут и развиваются десятилетиями, без ежегодного
    > переписывания всего кода

    у меня для вас хреновая новость:
    включает серию новых возможностей, а также несколько изменений, нарушающих совместимость.

    и такая дребедень - каждый день. А ваш php5.4 (несовместимый с 5.3! Про историю с 5.2 замнем за давностию лет) не поддерживается. И 7 не поддерживается. И скоро с нытьем про нехватку рук, энтузиазма и туалетной бумаги - перестанут и 8.0-8.3

    Ну и как себя чувствует проект который десятилетие нужно именно что ежегодно переписывать чтоб вообще работало - на том же самом (но не совсем) языке?

     
     
  • 5.45, Аноним (17), 16:08, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Переходить на 5.4 с 5.3 в свое время за отсутствием хорошего инструментария было болезненно. Современные IDE и линтеры это всё упрощают - можно на 99% проанализировать на совместимость статически и исправить несовместимости (часто даже автоматическим рефакторингом, как в случае с ?Type = null), а остальное словится при запуске test suite. Сравнивать это с переписыванием на другой язык даже не смешно.
     
     
  • 6.48, пох. (?), 16:31, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    угу-угу, астролябия ж сама все меряет.

    А по факту у тебя проект десятилетнего возраста (то есть уже пару поколений разработчиков пережил и никто из живущих не в курсе, что там и зачем) который проще переписать заново чем поштучно выковыривать все несовместимости. И да, при этом по сути будет все равно, на тот же язык или на отдаленно похожий. Все равно это реверс требований и рефакторинг с нуля.

    Даже проще на совсем другой инструментарий, поскольку делать это ты очевидно будешь - по частям. А два php всяко хуже чем php и какая-нибудь нода.

     
     
  • 7.67, IdeaFix (ok), 18:08, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Старый проект на старом смарти старыми гвоздям прибитый к старому пхп (как раз типа 5.3) и старому центосу проще обмазать сурикатой и оставить как есть, чем что-то переписывать. особенно если проект приносит стабильный доход и перспектив роста у него нет. IMHO.

    Каждая новая версия пхп - это боль для поддержки. Имхо, новости надо компоновать не так. Сначала надо писать про объявленные устаревшими, сломанные и пр. изменившие своё поведения функции, а потом про всякое ненужное.

     
     
  • 8.104, нах. (?), 21:05, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот, хоть один тут в курсе Но я тебе хуже историю расскажу - у меня проект п... текст свёрнут, показать
     
     
  • 9.138, IdeaFix (ok), 09:55, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну хз А где иначе На старой яве плюс-минус такое же Т е вроде есть у нас уже... текст свёрнут, показать
     
  • 9.151, Аноним (77), 12:43, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если у вас так много кода или он так ужасно написан, то необходимо закладывать в... текст свёрнут, показать
     
     
  • 10.159, нах. (?), 18:14, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    мы - расходная статья для бизнеса Мы не можем транжирить его деньги просто так,... текст свёрнут, показать
     
  • 9.169, Аноним (169), 00:34, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно примеры проблем, штуки три-четыре Кроме уже упомянутого foreach Почему с... большой текст свёрнут, показать
     
  • 7.83, Аноним (77), 19:33, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >который проще переписать заново чем поштучно выковыривать все несовместимости

    Вы в начале запустили проект(есть ли у вас те же тесты?), а теперь жалуетесь, что путь длиной в десять лет нужно пройти за пару месяцев.
    >Даже проще на совсем другой инструментарий, поскольку делать это ты очевидно будешь - по частям. А два php всяко хуже чем php и какая-нибудь нода.

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

     
  • 5.82, Аноним (77), 19:28, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    5 4 вышел лет девять назад За это время если не портировать на новую версию, то... большой текст свёрнут, показать
     
     
  • 6.105, нах. (?), 21:06, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 5.4 вышел лет девять назад. За это время если не портировать на новую версию, то с нуля уже можно
    > было успеть переписать.

    три раза.

    Сколько раз тебе нужно переписать проект с нуля чтобы сообразить что ты выбрал совершенно феноменально кривой инструмент?

     
     
  • 7.150, Аноним (77), 12:36, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Сколько раз тебе нужно переписать проект с нуля чтобы сообразить что ты выбрал совершенно феноменально кривой инструмент?

    На каком языке переписывать не надо, вот как написали в условные нулевые, так и по сей день работает? На питоне, с его переходом с второй на третью версию? За годы, прошедшие с момента релиза, уже можно было бы в фоновом режиме перейти если не с 5.3 на 8.4, то хотя бы на условный 8.0, скоратив отставание. А у вас технический долг только копится.

     
     
  • 8.160, нах. (?), 18:17, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну пля ну понятно что притча во языцех, но они глобальную подставу всем сдела... текст свёрнут, показать
     
  • 5.130, Ilya Indigo (ok), 04:34, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и как себя чувствует проект который десятилетие нужно именно что ежегодно переписывать чтоб вообще работало - на том же самом (но не совсем) языке?

    Я как раз любитель свежих и новых версий, и мои проекты ещё со времён PHP 5.3 практически полностью совместимы и с php 8.4. В 8.3 1 строку в Mysql обёртке поменял, в 8.4 избавился от ping() которая мне была и не нужна, и все изменения.

    Но вы тут написали откровенную лажу!
    Бывают крупные наследуемые проекты, обычно на новой работе или подряде, с кучей кода, без документации (ни разу не доводилось мне принимать документированный проект), которые то на falcon 3 (php 7.3) то на какой-то редкой cms, например отечественной umi-cms (php 5.6), и с этим приходится работать, хочешь ли ты этого или нет.
    На переписывание уйдут годы, которые мне никто не будет оплачивать! А проблемы, коих немеренно, нужно исправлять и новый функционал добавлять и чтобы на проде ничего не отвалилось.
    Это прямо каждый 2-ой проект такой на работе у php-програмиста!

    Переписывать под новую версию ничего не нужно!
    Решается или виртуалкой/контейнером, в зависимости от сложности проекта.
    Или я в одном проекте на phalcon 3, просто собрал php 7.3 так, чтобы он и его бэкенды и расширения не конфликтовал с основным свежим php, и их можно использовать одновременно.

    https://build.opensuse.org/project/show/home:13ilya:php73

    Способы работать над протухшим лигаси есть, я вот даже свой придумал, лишь бы руки были прямые.
    А спрос на поддержку тухлятины, как бы мне не хотелось, только растёт! :-(

     
  • 4.78, Аноним (77), 19:18, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Сейчас, конечно, начинать новый проект на PHP я не знаю зачем.

    А на чём делать - на питоне, который объективно хуже php как по быстродействию, так и по типизации? Или на ноде, с её тоннами пакетов, тормозами и уязвимостями?

     
     
  • 5.106, нах. (?), 21:08, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ну да, ну да, в пехепе нет ни тонн пакетов (причем начиная от нимодна-нимодна-запритить-запритить но все еще критично необходимого pear, и продолжая компостером тянущим компост со всего интернета) ни уязвимостей (вот эти вот два десятка cve за прошедший год мне померещились, видимо)

    и напомни, пожалуйста, когда нода ломала совместимость с уже написанным кодом?

     
  • 5.142, Аноним (142), 10:06, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    .NET и Java
    Там вам и быстродействие и типизация. А если серьёзно, то какой сайт? Single Page Application?

    Ну если вам не нравится Node.js и PHP, то бекенд пишите на чём угодно.
    Вон даже .NET Blazor есть, который вам даже фронтенд нарисует на C# через WebAssembly.

    Типизируйтесь на здоровье =)

     
     
  • 6.143, Аноним. (?), 11:31, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как там в яве с ненулабельными типами? А типы union/intersect типы тоже есть?
     
  • 6.152, Аноним (77), 12:49, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >.NET и Java

    Там нужно гораздо больше boilerplate, практически без выгод. А так же перезагружать приложение, с потререй состояния, когда изменил несколько строк, ибо горячая перезагрузка работает не всегда.
    >Там вам и быстродействие и типизация.

    Там будут постоянные приведения типов, от Object и обратно.

     
  • 3.18, Анон1110м (?), 14:17, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как не откро. какой фрилансерский сайт так там постоянно полно объявлений связанных с PHP. Богомерзкий Node.js тоже есть, но поменьше.
     
  • 3.64, DEF (?), 17:51, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Это отчаянные попытки вернуть тех

    Доля PHP в вебе - 75%.
    Доля "ближайшего" конкурента Ruby - всего 6%.

    Отчаянные попытки, ага.

     
     
  • 4.94, Аноним (94), 20:20, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эти проценты за счёт мусорных сайтов на вордпрессе из 2010х, и вообще, сайты уже давно в прошлое уходят, останутся мессенджеры в и пара соцсетей с маркетплейсами. Живи с этим теперь.
     
     
  • 5.113, Анон1110м (?), 22:14, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тебя как почитать, то складывается впечатления что после 2010 года сайтов больше не делают, раз PHP, то значит мусорный сайт.
     
  • 5.137, Аноним (137), 09:00, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну когда уйдут окончательно, расскажете. А то я это лет десять уже слышу.
     
  • 5.147, тоже Аноним (ok), 12:17, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "Ничего не будет. Ни кино, ни театра, ни книг, ни газет – одно сплошное телевидение" (с) 1980
     
     
  • 6.161, нах. (?), 18:19, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > "Ничего не будет. Ни кино, ни театра, ни книг, ни газет –
    > одно сплошное телевидение" (с) 1980

    "газета мне нужна тогда, когда я - в туалете!" (c)

    т.е. примерно так и получилось. Газеты я использую как техническую бумагу. Что-то застелить или промокнуть. К счастью, их еще зачем-то печатают.


     
     
  • 7.167, тоже Аноним (ok), 22:31, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > т.е. примерно так и получилось

    По айтишникам не стоит судить о населении. Например, только в подписном каталоге Почты России на следующий год - больше 5 тысяч наименований. Того, за что люди готовы платить деньги, да еще и при этом претерпевать сервис Почты России...

    Но главным образом я имел в виду предложить посмотреть, где теперь то телевидение ;)

     
  • 2.16, Жироватт (ok), 14:16, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хоронили php - порвали джва баяна \
    Мне сегодня можно, я сегодня пьяный \

    Но да, имело бы смысл заморозить php на крайней версии 7 и делать уже нормальный php 8 через транспилятор.

     
     
  • 3.29, Rev (ok), 14:59, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Первая версия тоже крайняя. На ней замораживать?
     
     
  • 4.49, пох. (?), 16:33, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Первая версия тоже крайняя. На ней замораживать?

    просто опоздавшие родиться не помнят эпика с foreach. Когда выяснилось что разработчики нескучного языка настолько альтернативно одарены, что могут сломать совместимость даже просто в minor release. И да, разумеется предыдущий никто даже и не думал поддерживать.

     
  • 3.81, хрю (?), 19:23, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Т.е. пойти по пути перла? план просто грандиозный :-)))
     
     
  • 4.84, Аноним (77), 19:34, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, перл его настолько успешно прошёл, что даже язык переименовали
     
  • 4.136, Жироватт (ok), 08:49, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну...да? Хотя тут больше бы подошла опупея с питон2 -> питон3. Тоже бкгали с горящим задом, но ничего, перешли, даже много где пистон2 уже надо собирать в чем-то типа аура, а не лежит в репах.
    > пёрл

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

     
     
  • 5.162, нах. (?), 18:21, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну...да? Хотя тут больше бы подошла опупея с питон2 -> питон3. Тоже
    > бкгали с горящим задом, но ничего, перешли,

    куда перешли-то - в гроб? Ну да, ну да. Помним, скорбим. hg, trac, кто там еще.

    Хоть что-то сравнимое _успешно_ пережившее "апгрейд" назвать сможешь?

    > Пустили переход на пёрл 6 на самотёк, оно так и вышло.

    поэтому git так до сих пор и работает. А не переписывался-переписывался да и сдох.

     
  • 2.28, Аноним (37), 14:58, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не развитие, это уже овер инжиниринг.
     
     
  • 3.31, ьщккгнр (?), 15:01, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    оверинжиниринг — это второе имя PHP ;)
     
     
  • 4.36, Аноним (37), 15:08, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Сегодня может быть, но для меня пыха закончилась на 4й версии, потом туда начали навязывать ООП, которое для вэба как раз является сферическим овер инжинирингом.
     
     
  • 5.85, Аноним (77), 19:35, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    На процедурном подходе далеко не уехать. Нужно либо в ООП, либо в ФП, либо и туда и туда идти.
     
  • 5.131, Ilya Indigo (ok), 04:52, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я так за 15 лет не понял где грань между процедурным стилем и ООП!
    Если под ООП обязательно имеется ввиду вызов new, то в большинстве случаев веб-задач это совершенно не нужно!

    Но можно просто использовать статические классы, со статическими константами, свойствами и методами и пространства имён, если нужно.
    Именно так я и делаю и это удобно писать, рефакторить, аудировать и это быстро работает.

    Это, без new через ClassName::, уже ООП или ещё процедурный стиль?

     
     
  • 6.171, Аноним (169), 01:12, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    1 Как при вашем подходе создать несколько инстансов ClassName Например, ORM П... большой текст свёрнут, показать
     
     
  • 7.174, Ilya Indigo (ok), 01:37, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    1 Никак! В синглтоне аналогично!
    В веб-задачах, где скрипт запускается максимум на несколько секунд динамическое выделение памяти из куча только вредит производительности и отжирает лишнию память и приводит к фрагментации кучи!


    2 Я не использую интерфейсы там, где это не нужно.
    Интерфейсы (заголовочные файлы) нужны в C++, где это ускоряет компиляцию и перекомпиляцию.
    В php это зачем?
    При условии, конечно, что я не делаю публичную библиотеку, или api или специально расширяемый класс?
    С тестированием не связан, не совсем понимаю что значит заменить объект мокапом и зачем это нужно делать, но подстраиваться под специфические шаблоны тестирования, например передовать кучу параметров из метода в метод, только для того чтобы их мог протестировать unit-скрипт, и делать все методы открытыми для этого и прочее считаю недопустимым, если нет такого ТЗ или правила разработки изначально.

    3 У меня отдельная во view дирекория для блоков, создаю блок, и подключаю через require.
    В блоке все переменные начинаю с подчёркивания, а в конце блока их все разом удаляю unset-ом.

    4 Класс или пространство имён и должны быть в глобальной области видимости, чтобы вызвать его из любой точки коду по ClassName или \Name\Space\ClassName.
    А иногда и константы, например с конфигом или APP VIEW APP ACT ID и прочие, которые необходимы в любой части кода, часто и желательно с короткими именами.
    Не вижу тут дискомфорт.

     
  • 2.71, 123 (??), 18:28, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    он еще мертв, но уже давно на пенсии во всех смыслах
     

     ....большая нить свёрнута, показать (46)

  • 1.21, Аноним (22), 14:47, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, что и как у хейтеров порвётся когда они узнают про swoole 🤔
     
     
  • 2.27, Нинзя (?), 14:58, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    От IR порвались видимо расшифровали тот ллвм
     
  • 2.146, Фняк (?), 12:11, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что к этой китайской поделке уже сделали вменяемую документацию?
     
     
  • 3.172, Аноним (169), 01:23, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Почему "поделке"? Какой вообще смысл сейчас, в 2024 году, писать под платформу, не предоставляющую встроенной асинхронности?

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

    Вот в самом php документации много, и сильно это помогает? Расписано всё до мелочей, но стоит написать код с расчётом на эти мелочи, так в ближайшие три релиза получаешь гарантированную несовместимость и необходимость переписать (и перетестировть) код под новую версию.

     

  • 1.25, Аноним (37), 14:55, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Когда-то, во времена 4й версии, это был действительно нормальный язык, заточенный под конкретную область. Сегодня это монстр, который сложнее джавы и сишарпа вместе взятых, да и смысла в нем нет, веб давно уже на микросервисах.
     
     
  • 2.32, Rev (ok), 15:01, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да, как язык был норм. Только все названия функций приходилось смотреть в доках, ибо они все именовались по-разному, и набор параметров в разном порядке у похожих функций был. Плюс, дикие тормоза были.
     
     
  • 3.35, Аноним (37), 15:06, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не знаю какие там у тебя тормоза были, у меня на 3 пне с 512 мб "денвер" летал, когда занимался разработкой, причем разрабатывал серьезные сайты, а не одностраничники, ну и не говори что сейчас ты научился кодить без гугла и без открытого мануала.
     
     
  • 4.173, Аноним (169), 01:30, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Некоторые под "php" подразумевают продукты типа Битрикса или ещё какой-нибудь Магенты (и в чём-то даже правы по-своему).
     
  • 2.74, DEF (?), 18:55, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты чего несешь? Нормальным языком PHP стал с версии 8.0, а 4.x было недоразумением.
     
  • 2.135, Бывалый Смузихлёб (ok), 08:24, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сам по себе ЯП значит немного в случае с пыхом. Там главное - это всевозможные фреймворки и модули с изучением которых порой страданий больше чем с самим ЯП.
    А тот факт что какие-то доработки самого ЯП выходят - совсем не означает что их непременно нужно применять и знать. Нередко они вообще ничего не значат, пока не ломается обратная совместимость. Но никто и не заставляет регулярно переходить на новую версию ЯП для уже существующего проекта.
     
  • 2.144, Аноним. (?), 11:32, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так ведь на пхп и микросервисы пишутся легко и приятно.
     
  • 2.164, анонимус (??), 21:15, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Он никогда не был нормальным.
    Всё равно что сделать нормальному языку лоботомию (Personal Home Page не должен быть сложным!), а потом годами навёрстывать то что выкинули. Всё через жопу прямо с самого начала.
     

  • 1.43, Соль земли (?), 15:34, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > единый для всех архитектур бэкенд и генерирует промежуточное представление (IR), которое затем дополнительно оптимизируется и преобразуется в машинные инструкции для нужной целевой платформы.

    LLVM напоминает.

     
  • 1.44, Дед Анон (?), 15:44, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Добавления новых функций и упрощение написания сложных конструкций приветствуется, но вот усложнение с повышением монструозности кода, это вообще лишнее. С каждым релизом что-то да выпиливается. Да оставь те вы для совместимости и всего делов.
     
     
  • 2.46, Аноним (46), 16:17, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Да оставь те вы для совместимости и всего делов.

    Да не юзай ты его и делов то :)

     
  • 2.50, пох. (?), 16:36, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Добавления новых функций и упрощение написания сложных конструкций приветствуется, но
    > вот усложнение с повышением монструозности кода, это вообще лишнее. С каждым
    > релизом что-то да выпиливается.

    это называетса вжопп секурити или как-то похоже.

    Короче, у тебя до пенсии будет работа по переписыванию одного и того же кода, без конца.

     

  • 1.51, Аноним (51), 16:38, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Давно свичнулся, но продолжаю следить за PHP.
    И после такого: "function save(?Book $book = null) {}" Ни разу не пожалел.

    PHP реально уже не актуален. Админки и CRUD, где PHP был идеален, уже пилят на TS/JS + json backend на любом языке.
    ХЗ где его применять.

    PHP с каждой версией все больше напоминает франкинштейна, тело которого собрано из частей Perl, C++, Java, и упаси Боже - JS.

     
     
  • 2.86, Аноним (77), 19:37, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Админки и CRUD, где PHP был идеален, уже пилят на TS/JS + json backend на любом языке.

    Например, на js + php. С учётом фреймворков, вполне удачно.

     
     
  • 3.87, Аноним (77), 19:38, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Имеется в виду REST/GraphQL
     
  • 3.97, Аноним (97), 20:23, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да даже на php, любой rest api Фишка в том что все это быстро заменяется на что... большой текст свёрнут, показать
     
     
  • 4.98, Аноним (97), 20:25, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С# ещё.
    Про Go намеренно молчу.
     
  • 4.99, Аноним (97), 20:27, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати! Даже у яндекса есть к C++ OpenSource фреймворк, с помощью которого можно легко и понятно для новичка писать rest api на плюсах.
     
  • 4.111, Анон1110м (?), 22:07, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > да даже на php, любой rest api. Фишка в том что все
    > это быстро заменяется на что-то более подходящее в современных реалиях, а
    > смысл было начинать? Почему бы сразу не написать на чем-то лучшем?

    А какие они эти современные реалии? Python, Java и много чего ещё появилось не вчера и почему–то PHP как был востребованнее так и остался. Node.js даже хуже.

     
  • 4.153, Аноним (77), 12:52, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Низкий порог входа? Посмотрите на синтаксис 8.4. У любого новичка крыша съедет, прежде чем понять как что-то там работает. Особенно учитывая любовь PHP к магии.

    В условном C# магии как бы не больше. Тут разве что golang, в котором вместо магии километры исходников.

     
  • 2.112, Анон1110м (?), 22:08, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Давно свичнулся, но продолжаю следить за PHP.
    > И после такого: "function save(?Book $book = null) {}" Ни разу не
    > пожалел.
    > PHP реально уже не актуален. Админки и CRUD, где PHP был идеален,
    > уже пилят на TS/JS + json backend на любом языке.
    > ХЗ где его применять.
    > PHP с каждой версией все больше напоминает франкинштейна, тело которого собрано из
    > частей Perl, C++, Java, и упаси Боже - JS.

    А зачем манять шило на мыло и тащить ЯваСцэнарий на сервер?

     

  • 1.53, Аноним (53), 16:44, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Предложена новая реализация JIT-компилятора, построенная на базе IR Framework. Ключевое отличие в том, что старый JIT напрямую генерировал машинные инструкции на основе байткода и с использованием разных бэкендов для архитектур x86_64 и AArch64, а новый JIT использует единый для всех архитектур бэкенд и генерирует промежуточное представление (IR), которое затем дополнительно оптимизируется и преобразуется в машинные инструкции для нужной целевой платформы.

    Лишь бы LLVM не использовать.

     
  • 1.54, Аноним (53), 16:46, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Добавлена поддержка прикрепления обработчиков свойств (property hook), позволяющих добавить дополнительную логику, выполняемую при изменении или доступе к свойствам объекта

    Превращаются брюки ... брюки превращаются ... в ASP.Net!

    Ну действительно, там и JIT от C# из коробки, и ЯП нормальный, и куча либ...

     
     
  • 2.88, Аноним (77), 19:48, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >и ЯП нормальный

    M$ сейчас усиленно f# портит, а вы их изначальный ужас - c# нормальным называете. К C# всё большим количеством изоленты прикручивают всё большее количество фич, они так и c++ перегнать смогут. О том, как это всё сочетается и вместе работает - мелкомягкие не думают, гланое чтоб количество фич было больше, чем у конкурентов.

     

  • 1.56, FreeStyler (ok), 17:00, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Long live! Кормит
     
     
  • 2.61, Аноним (60), 17:40, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Кормит

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

     
     
  • 3.65, FreeStyler (ok), 17:53, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Будто что-то плохое. Минусы будут?
     
  • 3.72, Aliech (ok), 18:44, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Плохая параллель. Такое мог привести только человек, не шарящий за то, как точат. У станков, знаете ли, есть износ. Чтобы заточить одну и ту же деталь на одном и том же станке, надо не слабо так разобраться в подготовке и эксплуатации станка. А это важные и ценные навыки даже сами по себе.

    А ещё измерительным инструментом надо уметь пользоваться в процессе. Что тоже важный навык, который останется с рабочим. Даже когда точить придётся новую деталь.

    А с софтом хуже. Там можно не только окуклится в привычном инструментарии, но и в подходах застрять, которые применялись в тех проектах, которые тебя кормили годами. Что равносильно деквалификации до уровня придатков этих проектов.

     

  • 1.66, MT (ok), 17:57, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если кто не заметил — теперь в PHP есть рабочий (теоретически) HTML-парсер.
     
     
  • 2.68, IdeaFix (ok), 18:15, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > теперь в PHP есть рабочий (теоретически) HTML-парсер

    теперь в PHP зачем-то есть рабочий (теоретически) HTML-парсер.

     
     
  • 3.69, MT (ok), 18:22, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, и «зачем-то» люди до этого вынуждены были использовать чисто скриптовый парсер 'Masterminds/html5-php'. ;-)
     
  • 2.110, Александр (??), 21:42, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И не просто HTML парсер, а отечественная разработка!
     
     
  • 3.119, Аноним (119), 22:49, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Фтопку вместе со всем пыхом.
     

  • 1.70, голос_из_леса (ok), 18:25, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >>> Добавлены новые функции mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), mb_lcfirst(), bcceil(), bcdivmod(), bcfloor() и bcround(), pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), pcntl_waitid(), http_get_last_response_headers(), http_clear_last_response_headers(), fpow()

    Stop, please, stop!

     

  • 1.108, Аноним (-), 21:31, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а динамически к бд, аль на страницах подгружать, так и не научили пых? без жс всё ещё не сделать никак?

    есть пара старых удачных проектов, осовременить бы)

     
     
  • 2.123, Аноним (-), 23:56, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    чего, никто не знает что ли? jquery прикручивать надо?
     

  • 1.116, Анон1110м (?), 22:47, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Во всех подобных обсуждениях, начиная со времени популяризации Node.js, есть невысказання, или высказанная, претензия (или даже что–то типа обиды) на трон короля — PHP. Мол JavaSript лучше, быстрее и верстальщикам не надо учить какой–то другой язык и они могут писать серверные скрипты сразу. Лучше ли JavaScript очень большой вопрос. На PHP есть вагон и маленька тележка CMS которые, как оказалось, почти идеально подходят для сайтостроительства и вокруг которых, как мне кажеться, всё и крутиться. Сместив PHP явасцэнаристы превратятся в похапэшников и погрузяться в то чем сейчас занято большинство похапэшник со всеми вытекающими последаствиями в виде перерождения в неких мастеров CMS робота которых будет состоять из подкручивания как самой CMS так и плагинов к ней, натягивании вёрстки на Joomla.js и правке шаблонов что сметёт последние остатки некой элитарности.
     
     
  • 2.118, Аноним (119), 22:48, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Окей нейросеть назови мне полный аналог wordpress на javascript.
     
  • 2.149, тоже Аноним (ok), 12:36, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это у нодеров - элитарность? Толпа студентов, которая постоянно "хватается за новые инструменты вместо того, чтобы научиться пользоваться старыми" (с) 1950 Брэдбери
     
     
  • 3.157, Анон1110м (?), 17:04, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Это у нодеров - элитарность? Толпа студентов, которая постоянно "хватается за новые
    > инструменты вместо того, чтобы научиться пользоваться старыми" (с) 1950 Брэдбери

    Но они считают иначе. Божественная асинхронность и лучший в мире JavaScript.

     

  • 1.120, Анон1110м (?), 22:57, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вспомнил что одно время много писали о том какой же Python прекрасный и что надо бросать PHP и переходить на Python. Потом такое же было с Ruby и Ruby on Rails.
     
  • 1.139, Аноним (141), 09:57, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Кто-нибудьфоркните PHP 5 !!!!

    этим лапшесинтаксисисом скоро задавят  :(

     
     
  • 2.156, Ilya Indigo (ok), 16:15, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1 Зачем!?
    2 Кто вам запрещает использовать старый синтаксис?
    3 Вы вообще пишете на php или вы только глупые комментарии писать умеете?
     
     
  • 3.166, Аноним (166), 21:28, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это у тебя глупый комент, нормальные опытные люди понимают что приходится разбираться, поддерживать и развивать не только свой код
     

  • 1.154, Аноним (22), 13:28, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Много копий сломано, по факту же есть бенчмарки которые совершенно точно не говорят в пользу использования питона или go в вэбе. Тут ещё не нужно забывать удобство разработки. ну и конечно swoole - корутины, все виды сокетов, таймеры, шаред мемори и тд. на php можно написать практически что угодно, кроме фронтенда конечно, хотя со статикой поиграть вам никто не запрещает.
     
     
  • 2.175, Аноним (169), 01:37, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Лайк за упоминание свул. Имхо в нынешних реалиях оно должно быть в ядре php, а не на задворках композеровского репозитория.
     

  • 1.155, Старый виндузятник (?), 13:55, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Забавно читать вскукаретиков, которые каждый год хоронят PHP, на его место предлагая питон, или прости господи, нодежс.

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

    Ну вот например пока хейтеры ПоХаПе страдают в гномо-кедах, рассказывая каким должен быть ЯП, кто-то пользуется шустрой, красивой, удобной DE, написанной им же, на самом лучшем языке программирования, 8.4-я версия которого недавно вышла.

    https://ibb.co/xqGPVpX

     
     
  • 2.158, Вы забыли заполнить поле Name (?), 17:15, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Нормальные же люди, просто пишут готовый конечный продукт, используя удобный для этого язык программирования.

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

     
     
  • 3.165, Старый виндузятник (?), 21:23, 22/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так Цукербергу \ Дурову и скажешь.
     
     
  • 4.168, нах. (?), 00:28, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сцукенберг (точнее, его рабы, сам он ни на каком инструменте не играет) были вынуждены написать СВОЙ интерпретатор, так что это давно уже не php.
    (и да, это в том числе гарантирует им отсутствие необходимости переписывать весь код потому что "мы выпустили новую несовместимую версию и перестали поддерживать старую")

    Но у тебя нет столько денег и столько рабов.

     
     
  • 5.170, Старый виндузятник (?), 00:52, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Без разницы.

    Сырцы пыха доступны - я же переписываю то что мне нужно ;) Пока вы скулите.

     

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



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

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