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 обязательно


Обсуждение (162) 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 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >  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 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    из обычного, простого языка сделали какое-то недоразумение, изменения ради изменений

     
     
  • 2.10, commiethebeastie (ok), 13:46, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Сделали нормальный язык, а не мама, я сделяль сайт.
     
     
  • 3.15, Анон1110м (?), 14:14, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Как будто его переориентировали на другие задачи. Он и раньше был относительно нормальным для своих задач.
     
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    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 [^] [^^] [^^^] [ответить]  
  • +/
    Да пусть ломают к херам !
    Чес быстрее всех задолбают своим сахаром, тем быстрее появиться новый РНР
     
     
  • 7.188, нах. (?), 11:49, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    так у нас есть уже один C#, и вот - чо?

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

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

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

    Ниша 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 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вообще-то новые версии практически не мешают писать в стиле РНР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 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это не развитие. Это отчаянные попытки вернуть тех, кто сваливал с него на протяжение последнего десятилетия. Типа "смотрите, у нас теперь тоже есть 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 +/
    Ну хз А где иначе На старой яве плюс-минус такое же Т е вроде есть у нас уже... большой текст свёрнут, показать
     
     
  • 10.187, нах. (?), 11:49, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    у тебя есть для начала хотя бы просто список cve и уязвимостей не оформленых ка... текст свёрнут, показать
     
     
  • 11.189, IdeaFix (ok), 12:02, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, от школьников суриката снорт вполне себе защищает в автомате Это зрелый коп... текст свёрнут, показать
     
     
  • 12.196, нах. (?), 07:41, 28/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А, ну такой и поломают - не жалко Восстановишь с дискеточки и дальше поедешь, а... текст свёрнут, показать
     
     
  • 13.199, IdeaFix (ok), 11:42, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так да, всё так А писки сурикаты слушает тот же специалист что и писки заббикса... текст свёрнут, показать
     
  • 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 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >который проще переписать заново чем поштучно выковыривать все несовместимости

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

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

     
     
  • 8.190, пох. (?), 12:07, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    как тесты КАКИЕ тесты могут помочь если версия языка перестала быть совместим... большой текст свёрнут, показать
     
  • 5.82, Аноним (77), 19:28, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    5 4 вышел лет девять назад За это время если не портировать на новую версию, то... большой текст свёрнут, показать
     
     
  • 6.105, нах. (?), 21:06, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > 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 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я как раз любитель свежих и новых версий, и мои проекты ещё со времён PHP 5 3 пр... большой текст свёрнут, показать
     
     
  • 6.191, пох. (?), 12:15, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Или я в одном проекте на phalcon 3, просто собрал php 7.3

    со всеми багами и уязвимостями, начиная с приснопамятного phar и заканчивая remote exec в fpm? Ну молодец, чо.

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

    Извини, лень даже открывать чтобы убедиться что ты не догадался хотя бы скопировать современные (+- пару лет) патчи из какого-нибудь LTS дистрибутива (впрочем, именно с 7.3 а не 4 надо сильно трудиться такой еще и найти)

    И так у этих самоучек без мотора примерно все.

    > Способы работать над протухшим лигаси есть

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

     
     
  • 7.194, Ilya Indigo (ok), 12:33, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Или я в одном проекте на phalcon 3, просто собрал php 7.3
    > со всеми багами и уязвимостями, начиная с приснопамятного phar и заканчивая remote
    > exec в fpm? Ну молодец, чо.
    >> Способы работать над протухшим лигаси есть
    > сидеть и молиться чтоб на метасплойте не лежало что-то готовое к запуску,
    > о чем ты не в курсе.
    > (ну или быть никому ненужным неуловимым джо, как в твоем случае)

    Я вам про работу программиста, вы мне про работу сисадмина.
    Заказчик нанимает программиста исключительно для задач программиста!
    Мне плевать что там у него на бою и как там будет, это головная боль заказчика и его сисадмина!
    А также мне напливать про уязвимости протухшего софта, которые установлены на моём локалхосте для разработки и тестирования, и дальше него они не выйдут!

     
     
  • 8.195, пох. (?), 15:11, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    какой такой сисадмин Этот ненужный хлам выкинули за борт еще в 2015м году в пр... большой текст свёрнут, показать
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +1 +/
    .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 и обратно.

     
     
  • 7.181, мяв (?), 04:52, 24/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >не всегда

    зачастую работает.
    по крайней мере, в .NET

     
  • 3.18, Анон1110м (?), 14:17, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как не откро. какой фрилансерский сайт так там постоянно полно объявлений связанных с PHP. Богомерзкий Node.js тоже есть, но поменьше.
     
     
  • 4.192, пох. (?), 12:18, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Как не откро. какой фрилансерский сайт так там постоянно полно объявлений связанных
    > с PHP. Богомерзкий Node.js тоже есть, но поменьше.

    потому что наколенных поделок имени Васян и сыновья, которые некому поддерживать - полно.

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


     
  • 3.64, DEF (?), 17:51, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Это отчаянные попытки вернуть тех

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

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

     
     
  • 4.94, Аноним (94), 20:20, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Эти проценты за счёт мусорных сайтов на вордпрессе из 2010х, и вообще, сайты уже давно в прошлое уходят, останутся мессенджеры в и пара соцсетей с маркетплейсами. Живи с этим теперь.
     
     
  • 5.113, Анон1110м (?), 22:14, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тебя как почитать, то складывается впечатления что после 2010 года сайтов больше не делают, раз PHP, то значит мусорный сайт.
     
     
  • 6.193, пох. (?), 12:20, 27/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Тебя как почитать, то складывается впечатления что после 2010 года сайтов больше
    > не делают, раз PHP, то значит мусорный сайт.

    И не php - он же. С наибольшей вероятностью это так, увы.

    вон, переписываюсь сейчас с менеджером. Сайт у них есть, да. Можно даже "сделать заказ" - на самом деле это email менеджеру. Когда-нибудь он тебе ответит. А можешь сразу писать в ватцап. Тогда ответит сразу и даже уточнит детали заказа.


     
  • 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 тысяч наименований. Того, за что люди готовы платить деньги, да еще и при этом претерпевать сервис Почты России...

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

     
     
  • 8.182, нах. (?), 20:44, 24/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    нет, того за что люди еще надеются эти деньги спилить Надежды оправдаются не у ... текст свёрнут, показать
     
  • 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 [^] [^^] [^^^] [ответить]  
  • –3 +/
    На процедурном подходе далеко не уехать. Нужно либо в ООП, либо в ФП, либо и туда и туда идти.
     
  • 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 +/
    1 Никак В синглтоне аналогично В веб-задачах, где скрипт запускается максимум ... большой текст свёрнут, показать
     
     
  • 8.178, Аноним (178), 17:38, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спасибо за ответы В моём сообщении интерфейс - это не Interface, а просто инт... большой текст свёрнут, показать
     
     
  • 9.179, Ilya Indigo (ok), 18:11, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Благодарю за ответы Я понял что вы подразумеваете под интерфейсами, и ваш подхо... текст свёрнут, показать
     
  • 2.71, 123 (??), 18:28, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    он еще мертв, но уже давно на пенсии во всех смыслах
     

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

  • 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 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему "поделке"? Какой вообще смысл сейчас, в 2024 году, писать под платформу, не предоставляющую встроенной асинхронности?

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

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

     
     
  • 4.200, Аноним (-), 23:07, 02/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот бы увидеть как вы неработоспособность $_session и глюки, когда переменные в глобал улетают, обошли. Или уже поправили это?
     

  • 1.25, Аноним (37), 14:55, 21/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Когда-то, во времена 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 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Давно свичнулся, но продолжаю следить за 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, в котором вместо магии километры исходников.

     
  • 4.197, нах. (?), 07:51, 28/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Единственное что его сейчас спасает, это то что нельзя на других технологиях
    > нажатием одной кнопкой развернуть у себя аналог WP, Joomla или какого-то
    > интернет магазина на PrestaShop или OpenCard (и Битрикс, lol).

    ну и вот спросим себя, почему на jango каком-нибудь - один джанк, а на жабке-ква - монстры атсас....атлассиана которых все ненавидят?

    > Как только что-то появится схожее - всё, приехали.

    не дождемся. Ушла эпоха.

    Даже твой битрикс уже на 70% - ass in servise или как там это правильно пишется.

     
  • 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 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Добавлена поддержка прикрепления обработчиков свойств (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 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > теперь в 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!

     
     
  • 2.114, Kuku (?), 22:34, 21/11/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

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

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

     
     
  • 2.123, Аноним (-), 23:56, 21/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    чего, никто не знает что ли? jquery прикручивать надо?
     
     
  • 3.185, Cypher (?), 18:20, 25/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как ты JavaScript-библиотеку к PHP прикручивать собрался?
     
     
  • 4.202, Аноним (202), 08:24, 03/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да как и везде - в шапку ссылку с гугл-облака прибиваешь и потом внутри жаваскри... большой текст свёрнут, показать
     

  • 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.
     
     
  • 3.203, Аноним (202), 08:27, 03/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ЖСжс не имеет возможностей всё это исполнить, или просто ещё никто не сделал? Интересуюсь, с жс мало знаком.
     
  • 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 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Кто-нибудьфоркните 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 +/
    Это у тебя глупый комент, нормальные опытные люди понимают что приходится разбираться, поддерживать и развивать не только свой код
     

  • 1.154, Аноним (22), 13:28, 22/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Много копий сломано, по факту же есть бенчмарки которые совершенно точно не говорят в пользу использования питона или go в вэбе. Тут ещё не нужно забывать удобство разработки. ну и конечно swoole - корутины, все виды сокетов, таймеры, шаред мемори и тд. на php можно написать практически что угодно, кроме фронтенда конечно, хотя со статикой поиграть вам никто не запрещает.
     
     
  • 2.175, Аноним (169), 01:37, 23/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Лайк за упоминание свул. Имхо в нынешних реалиях оно должно быть в ядре php, а не на задворках композеровского репозитория.
     
  • 2.180, Аноним (-), 00:40, 24/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да, благодарю, приличное решение - миничатик, в отдельном, вообще легко завелось. осталось парсер в фон приклеить и дивы на поводок посадить. думаю что расширением и без кода жс встанет - просто имба получится
     
     
  • 3.186, Cypher (?), 18:24, 25/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно краткий ликбез зачем нужна вся эта асинхронность? Десяток лет делаю сайтики на пыхе и не возникало ещё потребности в чем-то подобном, может я не вижу чего-то очевидного
     
     
  • 4.204, Аноним (202), 08:37, 03/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а какие сайтики? статику? где нужно постоянно страничку в браузере по кнопке обновлять, что бы изменения увидеть или данные отправить?

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

    как вот на пых-сайте динамичное обновление сделать, без сокетов и жс?

     

  • 1.155, Старый виндузятник (?), 13:55, 22/11/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (5)

  • 1.183, opennetuser (ok), 22:54, 24/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В этой версии есть проблемы с imagick :( Он тупо не работает. поэтому все ворпдрессы с прочие CMS пока не надо заводить на php8.4

    Как обычно, надо ждать 8.4.1 🤣

     
     
  • 2.205, Аноним (202), 08:40, 03/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    после 18 обычно уже не замечаешь версии с парой точек и нулей на конце)))
     

  • 1.184, dcc0 (ok), 14:06, 25/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Было бы прекрасно, если бы вернули совместимость со старым драйвером mysql.
    Или бы сделали режим совместимости в настройках.
     
  • 1.198, Аноним (198), 07:34, 29/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тащат что ни попадя. Это уже реально java-подобный Франкенштейн получился, потому и стагнирует. Раньше порог входа был минимальный, сайты пилились на include'ах

    Как на этой рыготине можно что-то нормальное писать? А главное зачем? Лучше взять Ruby или Python и то приятнее будет

     
     
  • 2.201, Аноним (-), 23:37, 02/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не поверите, они и сейчас прекрасно пишутся на инклюдах, значительно помогая циклами,функциями и тп.

    И никто не мешает прикручивать свои расширения на том, что удобнее.

     

  • 1.206, Аноним (-), 20:28, 04/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Добавлена возможность асимметричного управления видимостью свойств объектов (public, private, protected), отдельно для операций записи (set) и чтения (get)

    Это у них про безопасность, или они так типизируются с непрерывной интеграцией?

     

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



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

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