The OpenNET Project / Index page

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

Началось альфа-тестирование PHP 8.4

06.07.2024 10:41

Представлен первый альфа-выпуск новой ветки языка программирования PHP 8.4. Релиз намечен на 21 ноября. Основные новшества, уже доступные для тестирования или планируемые к реализации в PHP 8.4:

  • Добавлена поддержка прикрепления обработчиков свойств (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()".
  • Вместо общего параметра "opcache.jit_buffer_size" для управления JIT-компилятором и настройки размера буфера JIT предложены параметры "opcache.jit" и "opcache.jit_buffer_size". Для отключения JIT теперь можно указывать "opcache.jit=disable" вместо "opcache.jit_buffer_size=0". Кроме того, внесены изменения, снижающие потребление памяти и повышающие производительность JIT в некоторых ситуациях.
  • Объявлено устаревшим поведение, при котором для параметров функций с присвоенным по умолчанию значением null автоматически разрешалось присвоение значений null. Для того, чтобы подобные параметры могли принимать значения null теперь требуется явное указание префикса "?". Например, вместо "function save(Book $book = null) {}" следует указывать "function save(?Book $book = null) {}".
  • Реализован класс \Dom\HTMLDocument, поддерживающий корректный разбор разметки HTML5.
  • Добавлена функция request_parse_body() для разбора HTTP-запросов с типом контента multipart/form-data (RFC1867).


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


Обсуждение (150) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Дмитрий (??), 11:54, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Эй, а когда дженерики? С 2016 года прошло много времени, и JIT завезли, и +100500 оптимизаций завезли, каждый релиз всё ускоряют и ускоряют, а дженерики для них всё ещё сильно медленные?

    Вот бы у пыхи появился бы компилятор... Официальный

     
     
  • 2.2, Аноним (2), 11:56, 06/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.5, Wed (??), 12:11, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если нужны дженерики, то специально для Вас разрабатывают ARA Language: https://ara-lang.io/generics/introduction.html
     
     
  • 3.7, Дмитрий (??), 12:15, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, изучим!
     
  • 2.28, Ногоед (?), 14:18, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > каждый релиз всё ускоряют и ускоряют

    Представляю как ты удивишься ускорению, если запустишь движок PHP 4 на современном железе.

     
     
  • 3.31, Медведь (ok), 14:25, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага, давай для каждого сайтика-визитки по вычислительному кластеру держать.
     
     
  • 4.61, Аноним (2), 17:07, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Сделать визитку статикой религия на позволяет?
     
  • 3.57, Бывалый Смузихлёб (ok), 16:40, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    а если PHP 1 ?
     
  • 2.76, slavanap (?), 17:57, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вам сюда: https://www.peachpie.io/
     
     
  • 3.107, Илья (??), 20:15, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пхп на дотнет машине? Ну допустим.

    Дотнет ягодка

     

  • 1.3, Аноним (2), 12:00, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Php как всегда топчик.
     
     
  • 2.21, Медведь (ok), 14:02, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Ты держишь список вверх ногами?
     
  • 2.99, Аноним (99), 19:54, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    PHP топчик как способ вставки динамического текста в html, всё что нагородили сверху криво и своеобразно до абсурда.
     
     
  • 3.138, Медведь (ok), 14:46, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что, "голый" php уже умеет в наследование шаблонов? В том же джанге это из коробки... Да и сама идея смешивания собственно шаблона и исполняемого кода -- ну очень такое себе, помесь бульдога с носорогом. Смысл шаблонизатора -- в отделении источника данных от представления, а пых сваливает это в одну кучу by design.
     
     
  • 4.171, Варенье (?), 14:53, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что, джанга теперь самостоятельный язык?
     
     
  • 5.172, Медведь (ok), 15:17, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, конечно, но поскольку пых шаблонизатор -- почему бы ему не уметь в возможности нормальных шаблонизаторов? И кстати, что насчет "самостоятельности" языка шаблонов в джанге? По итогу -- нагородили нечто, что гордо хочет считаться как бы языком программирования, но по факту шаблонизатор, который по возможностям и удобству сливает даже встроенному в джанго аналогу, и куче прочих -- тоже.
     
     
  • 6.176, redwolf (ok), 20:45, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Эммм.. Вы путаете возможности языка и возможности фреймворка и его составных частей.

    Не хотите смешивать код и шаблон -- возьмите шаблонизатор и не смешивайте. На PHP есть тот же Twig. Это вообще вопрос не к языку, а скорее к тому, какие архитектурные слои в вашем приложении. Не совсем понимаю, чем принципиально конкретно Django отличается в этом смысле от того же Symfony. Anyway, человеческую архитектуру вам придётся строить при разработке приложения на чём угодно поверх фреймворка.

    Хоите сравнить Django -- сравните с Symfoony, Zend, Laravel или Yii. Не против посмотреть на подобное сравнение.

     
     
  • 7.185, Медведь (ok), 17:58, 11/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это вы путаете шаблонизатор с языком программирования. PHP -- шаблонизатор, соответственно, сравнивать его нужно с шаблонизаторами.
     
     
  • 8.186, redwolf (ok), 19:12, 11/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если PHP -- шаблонизатор что вобщем-то для начала неплохо пояснить и обосновать... текст свёрнут, показать
     
     
  • 9.187, Медведь (ok), 11:38, 12/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А как еще назвать html со вставками пыха как не шаблонами Видимо, потому что пы... текст свёрнут, показать
     

  • 1.4, Аноним (4), 12:03, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –18 +/
    Кто-то ещë им пользуется? Ну кроме дедов админов которые 100500 лет назад освоили это как замену хтмл
     
     
  • 2.6, Wed (??), 12:13, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я пользуюсь для быстрого написания RESTful API.
     
     
  • 3.16, Аноним (16), 13:57, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А где рестфул пишется медленно то? В руби, питоне и го это литерали пара строчек. Куда быстрее?
     
  • 3.30, Медведь (ok), 14:22, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Посмотри в сторону хотя бы FastAPI и обзавидуйся.
     
     
  • 4.41, BrainFucker (ok), 15:14, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё бы ничего, но дурацкая идея описывать роуты через декораторы. Роуты в Django удобнее imho.
     
     
  • 5.43, Аноним (2), 15:25, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Джанго до сих пор унылая синхронщина. Фастапи божественная асинхронщина.  
     
     
  • 6.46, Медведь (ok), 15:28, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Справедливости ради -- они работают над этим: https://django.fun/docs/django/5.0/topics/async/
     
     
  • 7.62, Аноним (2), 17:08, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Справедливости ради над этим работают уже миллион лет. А результат как у переписывания на раст фаерфокса. Т.е. Нет результата.
     
  • 6.67, BrainFucker (ok), 17:23, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Джанго до сих пор унылая синхронщина. Фастапи божественная асинхронщина.

    Ну, во-первых, асинхронщина там есть уже, с четвёртой версии более менее пользоваться уже можно, в пятой улучшили.

    Во-вторых, а вам оно точно надо? В основном профит от асинхронных контроллеров когда нужно делать например кучу не зависящих друг от друга i/o операций типа http запросов куда-то или не связанных друг с другом запросов в БД. Но такое редкость, обычно нужно получить результат запроса и уже потом делать следующий и тут асинк бесполезен.
    Ну и глобальный цикл событий, в котором обрабатываются все запросы к сервису, не всегда хорошо.

     
  • 5.44, Медведь (ok), 15:26, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В чём именно весь ужас такого подхода? Да и API на джанго -- таки уже не пара строк кода, хотя тоже довольно вменяемо.
     
     
  • 6.68, BrainFucker (ok), 17:28, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вкусовщина, но например если я использую сторонний модуль, в джанге можно переопределить урлы, не внося правок в чужой код.
     
     
  • 7.69, Медведь (ok), 17:36, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    APIRouter спасёт гиганта мысли и отца русской демократии!
     
     
  • 8.71, BrainFucker (ok), 17:43, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот как-то переусложнили всё Красиво только в хелловрлде, а чуть что сложнее... текст свёрнут, показать
     
     
  • 9.75, Медведь (ok), 17:53, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я боюсь, что это в любом движке так В том же джанге если шаг-два в сторону от... текст свёрнут, показать
     
  • 4.90, OpenEcho (?), 19:14, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Посмотри в сторону хотя бы FastAPI и обзавидуйся.

    Результат напичкивания питоном в юниверах сказывается...

    Ты хоть сравнивал скорость с пыхом ? Только честно

    Я понимаю если б ты вякнул там про just, mormot, atreugo...

     
     
  • 5.91, Аноним (91), 19:23, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А ты сравнивал? Давай, цифры в студию) Только не голое апи, а сразу с БД, с кафкой и тп.
     
     
  • 6.115, OpenEcho (?), 23:02, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А ты сравнивал? Давай, цифры в студию) Только не голое апи, а
    > сразу с БД, с кафкой и тп.

    У тебя еще и гуглом проблемы?

    https://www.techempower.com/benchmarks/#section=data-r22&hw=ph&test=composite&

    > только не голое апи, а сразу с БД, с кафкой и тп.

    А че сразу не мордо книгу или VK ? И еще и на халяву небось надо

     
  • 5.134, Медведь (ok), 14:12, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хм. Когда я сравниваю скорость работы кода на php с плюсами, например, и пых, разумеется, сливает в разы, пыхеры в один голос кричат, что в вебе скорость в рантайме -- дело десятое, главное -- скорость и удобство разработки. Так что я им верю, и сравниваю в первую очередь дизайн языка и веб-фреймворков, а тут пыху даже до питона как до Луны.
     
     
  • 6.161, OpenEcho (?), 08:05, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  а тут пыху даже до питона как до Луны.

    балабол... на линк на вверху кликни хотя бы


     
  • 2.10, Аноним (10), 12:32, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А чем надо и что в PHP такого уж плохого?
     
     
  • 3.18, Аноним (16), 13:58, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Динамика, отсутствие какой-либо строгости, плохой дизайн и дубовая семантика из 90х.
     
     
  • 4.23, Аноним (23), 14:09, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если уж люди на сишечке пишут…
     
     
  • 5.29, Медведь (ok), 14:21, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Никто не позиционирует сишечку как простой скриптовый язык для быстрого клепания веб-приложух. В отличие от.
     
     
  • 6.48, User (??), 15:33, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так и php не позиционируют лет уж... много со времен php4 прошло, да?
     
     
  • 7.52, Медведь (ok), 15:49, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А как позиционируют сейчас?
     
     
  • 8.60, Аноним (60), 17:06, 06/07/2024 Скрыто ботом-модератором     [к модератору]
  • +5 +/
     
     
  • 9.104, User (??), 20:00, 06/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.113, Аноним (60), 22:37, 06/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 10.114, Аноним (60), 22:53, 06/07/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 11.130, User (??), 07:08, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 12.131, Аноним (60), 11:20, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 13.141, User (??), 17:32, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 14.144, Аноним (60), 17:50, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 15.146, User (??), 18:06, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 16.149, Аноним (60), 18:43, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 17.151, User (??), 19:21, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 18.152, Аноним (60), 19:48, 07/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 19.167, User (??), 13:10, 08/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 9.118, Аноним (23), 23:34, 06/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 8.100, User (??), 19:54, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да так же, как и десять лет назад - скриптовый язык общего назначения , не ... текст свёрнут, показать
     
     
  • 9.105, Медведь (ok), 20:02, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И снова спрашивается вопрос назови хотя бы две успешных не-веб софтины на пыхе ... текст свёрнут, показать
     
     
  • 10.111, User (??), 20:30, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Язык - общего назначения Используется - преимущественно для написания всякой ... текст свёрнут, показать
     
     
  • 11.135, Медведь (ok), 14:18, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если даже PHP personal home page , а PHP PHP Hypertext Preprocessor, то ... текст свёрнут, показать
     
     
  • 12.140, User (??), 17:27, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нумерология жпг Акроним пришлось изобретать из уже имевшихся букАв, да ... текст свёрнут, показать
     
     
  • 13.147, Медведь (ok), 18:09, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Но почему то все же не PHP High Performance или PHP Holey Pumpkin Хотя ... текст свёрнут, показать
     
     
  • 14.150, User (??), 19:18, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно Почему RedHat По тому, что они занимаются производством головных... текст свёрнут, показать
     
     
  • 15.154, Медведь (ok), 20:50, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А, то есть Hypertext Preprocessor примерно настолько же соответствует назначению... текст свёрнут, показать
     
     
  • 16.166, User (??), 13:04, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да, вы абсолютно правы RH и головные уборы, IBM и калькуляторы, Microsoft и ... текст свёрнут, показать
     
  • 5.59, Медведь (ok), 17:01, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Раз уж пых такой замечательный, может, назовешь хотя бы пару не веб приложений на пыхе? Ну, по идее же такой быстрый и простой язык хочется использовать везде?
     
     
  • 6.127, Ilya Indigo (ok), 02:41, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Каждый ЯП должен быть применён по месту своего применения и не должен заменять другой специализированный язык!

    Место применения PHP - web-сайты, web-сервисы, а также скрипты автоматизации с которыми не справляется bash, это место применения почти любого скриптового языка.

    Я на php консольную игру с компом в крестики-нолики написал. Подойдёт?

     
     
  • 7.136, Медведь (ok), 14:20, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Упс, а тут чуть раньше некоторые товарищи утверждают, что пых -- ЯП общего назначения. Вы там договоритесь между собой, что ли... Но соглашусь, крестики-нолики -- вполне себе уровень пыха. Пусть там и остается.
     
  • 4.117, Ilya Indigo (ok), 23:07, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы с perl часом не попутали?
    В PHP хоть и довольно кривая и костыльная статика, но всё же она есть.
    Хотя в большинстве задач для которых нужен скриптовый язык она не нужна.
    Семантика тут лучшая C-подобная среди всех динамических языков в отличие от неочевидной в awk/perl и откровенно убогой в python/go.
    Строгость тут тоже вполне достаточная, в отличие от девиза perl.
     
  • 4.142, Аноним (142), 17:44, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    По сравнению с Node.js и JavaScript PHP не так уж и плох для паутинного программирования.
     
  • 4.178, redwolf (ok), 21:01, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Есть возможность, начиная с версии 7, включить строгую типизацию в принципе. Для этого существеут директива strict_types.

    Кроме того, что вам мешает использовать type hints. Пишите в этом стиле:

        /**
         * @param $subscription Subscription
         * @param $addedItems bool
         * @param $removedItems bool
         * @param $itemsAdded array
         * @param $itemsRemoved array
         * @return bool
         */
        public function trackUpdatedSubscription(
            $subscription,
            $addedItems = false,
            $removedItems = false,
            $itemsAdded = [],
            $itemsRemoved = []
        ) : bool {

     
  • 3.34, Аноним (34), 14:38, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://habr.com/ru/articles/142140/ (оригинал https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design)
     
  • 3.39, BrainFucker (ok), 15:08, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем надо

    Удобных популярных фреймворков бы. А то сейчас почему-то Laravel популярен, от которого ощущения как от Битрикса. Symfony тоже не особо фонтан.

     
     
  • 4.86, Gemorroj (ok), 19:02, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    symfony-то чем не угодил? если ларавель говнецо на массивах,то symfony вполне по уму сделан.
     
     
  • 5.92, Казацький ватажок (?), 19:26, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Symfony это феерический оверинжиниринг в вакууме, где классы пишутся ради классов, а усложнения ради усложнений.
     
     
  • 6.133, Gemorroj (ok), 13:52, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну, это глупость. там просто более-менее серьезный подход, код и область применения.
     
  • 6.179, redwolf (ok), 21:06, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Просто интересно. Действительно инетресно. Не пытаюсь накинуть говна на вентилятор. Как вы относитесь к Java и, например, Spring? Это тоже с вашей точки зрения хрень и классы ради классов? Возможно вам в принципе не нравится ООП? Есть, конечно, альтернативные подходы, но вроде как ЯП развиваются в сторону ООП. Нет?
     
     
  • 7.188, Казацький ватажок (?), 02:12, 15/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Могу сказать одно: Spring в каждый второй проект не пихают, просто лишь для того, чтобы развести заказчика на бабло, и где по-факту достаточно сделать что-то вроде include header.php и footer.php.
     
  • 4.93, Казацький ватажок (?), 19:27, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Удобных популярных фреймворков бы.

    PHP сам по себе и есть фреймворк. Учите матчасть и держитесь подальше от ютубных "гуру".

     
     
  • 5.96, Аноним (91), 19:31, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как в этом замечательном фреймворке вызвать ORM?
     
  • 5.110, BrainFucker (ok), 20:21, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    PHP это шаблонизатор. Для того чтобы быть фреймворком этого мало.
     
  • 2.27, Ногоед (?), 14:17, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто-то ещë им пользуется?

    Бóльшая часть веба? Почему? Потому что нет ничего проще, чем перекинуть WP через FTP и начать наполнять контент.

     
     
  • 3.32, Медведь (ok), 14:28, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только из-за легаси. Никто в здравом уме не станет начинать новый проект на пыхе в 2024.
     
     
  • 4.35, Ногоед (?), 14:39, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Обязательно стрелять из пушки по воробьям? Прекращайте мыслить в масштабах "проектов", помимо них, есть ещё и "сайты", которые ещё худо-бедно не вытеснены соцсетями и маркетплейсами.
     
     
  • 5.97, Аноним (91), 19:32, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем на сайте динамика? SSG гораздо лучше пхп и в поддержке и в чистоте результата и в безопасности.
     
  • 4.103, Аноним (103), 19:57, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а на чём начинает?
     
  • 4.145, Аноним (142), 17:51, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А на чём надо начинать в 2024 году?
     
     
  • 5.148, Медведь (ok), 18:15, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А какой язык тебе лично больше нравится? Веб-фреймворки есть сейчас практически под любой ЯП. В чем тонкий смысл гальванизировать пыхотрупчик?
     

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

  • 1.8, Ося Бендер (?), 12:18, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Похоже на переставление кроватей. Все этики скобочки, вопросики, одним словом мощный релиз...
     
     
  • 2.87, Gemorroj (ok), 19:04, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В целом да, заколебали сахаром заниматься. Нет в core сейчас сильных программеров, кроме Стогова. А он на JIT фуллтайм сидит.
     

  • 1.9, Аноним (60), 12:30, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    удивляюсь тому, насколько пых отстает от всей остальной индустрии. Про дженерики уже сказали: в каком там году они были добавлены в Java? геттеры/сеттеры уже давно были в яваскрипте. А вот new MyClass()->method() говорит о том, что они до сих пор не могут нормально допилить свой лексер/парсер. Помню времена, когда пых не умел даже в обращение к индексу возвращенного из функции массива: get_hello()[42]. Пипец одним словом. Я вообще от всех скрываю, что в юности зашкварился об пых. Если бы я шырялся по падикам в поисках закладок, -- это было бы более достойным занятием, чем кодить на Персонал Хоум Пейдж (пхп).
     
     
  • 2.15, Антон (??), 13:41, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да не, улучшение по new MyClass()->method() один чувак предложил, чем неимоверное гордился в своей тележной группе. Было б чем, фуфломицин и то полезнее, чем его "улучшение"
     
  • 2.25, Ногоед (?), 14:15, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > дженерики

    А теперь скажи нафига они вообще нужны в скриптовом языке для создания веба?

     
     
  • 3.79, OpenEcho (?), 18:19, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > А теперь скажи нафига они вообще нужны в скриптовом языке для создания веба?

    Ну как зачем? Вы никогда не видили как собаки за своим хвостом гоняются когда им делать нечего?Сперва сделать из нетипизированных переменных - типизированные, а потом через дженерики обратно. Круто же !

     
  • 2.82, OpenEcho (?), 18:29, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > кодить на Персонал Хоум Пейдж (пхп).

    Чувак, ты очень сильно отстал от жизни, так он назывался несколько десятилетий назад, и уже очень давно зовется:

    PHP stands for PHP: Hypertext Preprocessor.

     
  • 2.88, Gemorroj (ok), 19:07, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, ты не прав. Парсер Попов давно допилил. То, что скобки для вызова метода нужны были - это просто небольшая правка, потому что так привыкли в других языках.
    А отставание в модных фичах обусловлено отсутствием нормальной core команды на зарплате.
     

  • 1.12, Додо (?), 13:05, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    PHP как всегда... В большинстве языков nullable тип обозначается через постфикс (Book?), они же делают через префикс (?Book). Буквально так же, только по-своему, и это можно сказать практически про весь синтаксис.
    А так язык неплохой, да, и хорошо, что он активно развивается.
     
     
  • 2.78, Аноним (78), 18:16, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В нормальных языках не изобретают костыль специально для nullable типов, а используют Maybe a, если это Haskell, либо 'a option, если это Ocaml.
     
     
  • 3.84, OpenEcho (?), 18:41, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В нормальных языках ...

    Ты сам то нормальный, если называешь "не нормальным" язык, на которм львиная доля веба держится, в отличие от "правильных" хаскеля и окамла?

    Правильный язык, - это тот, на котором можно быстро написать и легко сопровождать логику, язык с легко понимаемой документацией, язык которой развивается и обязательно поддерживается и естесвенно должен быть "right tool for a particular job"

     
     
  • 4.98, Аноним (78), 19:52, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >быстро написать и легко сопровождать логику

    Только если задача не сложнее перекладывания пары json-ов
    >язык которой развивается

    Спустя пару десятилетий в языке появляется null safety, когда в некоторых языках он из коробки. Потрясающая скорость развития.

     
     
  • 5.109, User (??), 20:18, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>быстро написать и легко сопровождать логику
    > Только если задача не сложнее перекладывания пары json-ов
    >>язык которой развивается
    > Спустя пару десятилетий в языке появляется null safety, когда в некоторых языках
    > он из коробки. Потрясающая скорость развития.

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

     
  • 5.122, OpenEcho (?), 00:02, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Только если задача не сложнее перекладывания пары json-ов

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

    > Спустя пару десятилетий в языке появляется null safety, когда в некоторых языках он из коробки.

    "вам шашечки или ехать"?

     
     
  • 6.125, Аноним (78), 01:32, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >вон, вконтакте, на таком перекладывании неплохо так поднялись...

    Почитайте, какие велосипеды они накрутили, чтобы это у них работало. У них там свой собственный диалект, неспособный запускать произвольный php-код, общего с обычным php - синтаксис и несколько методов из стандартной библиотеки.
    >"вам шашечки или ехать"?

    Php всё ещё далёк до нормальной типизации, так как на данный момент это просто немного подвинет ошибку вверх по стеку. И если в haskell или ocaml ошибка будет заметна во время компиляции, то в php - только во время выполнения. Далеко на таких костылях не уехать.

     
     
  • 7.132, OpenEcho (?), 11:31, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Далеко на таких костылях не уехать.

    вы кажется не понимате как устроен мир, если не видите очевидной статистики


     
     
  • 8.153, Аноним (78), 19:58, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В хаках для php уже частично переизобрели вывод типов, aot компиляцияю, неявную ... текст свёрнут, показать
     
  • 8.168, нах. (?), 14:00, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну ты вот видишь, и по прежнему ничего не понимаешь Если бы ты был мордокнигой ... текст свёрнут, показать
     
  • 4.112, Savaoff (?), 20:38, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В жопу такое развитие и поддержку Куча несовместимых версий, поддержку старых в... большой текст свёрнут, показать
     
     
  • 5.121, OpenEcho (?), 23:52, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вы вероятно про питон не слышали, как впрочем этим многие грешат Ерунда, большин... большой текст свёрнут, показать
     
  • 5.126, Аноним (78), 01:43, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >поддержку старых версий мгновенно бросают

    Бесплатная поддержка одной единственной версии - 4 года, версии выходят раз в год. Можно пару лет бездельничать, а потом сразу через версию перескакивать. Иногда на минорные ветки можно перейти вообще без правок. Интересно, чем же вы таким заняты, что за четыре года не смогли поднять версию?

     
     
  • 6.165, нах. (?), 12:11, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно пару лет бездельничать,

    в этом и проблема - что ты ничем кроме безделья не занят.

    > Интересно, чем же вы таким заняты, что за четыре года не смогли поднять версию?

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

     
  • 5.128, Аноним (2), 06:40, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Поэтому опеннет на перле.
     
  • 5.164, нах. (?), 12:10, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > не я это делал 15 лет назад

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

    Тогда все еще казалось что это - хороший выбор.

     

  • 1.13, Аноним (13), 13:11, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я все жду, когда добавят возможность огрантчивать область видимости переменной только в рамках текущего блока, т.е. как let и const в JavaScript.
     
  • 1.14, Фняк (?), 13:14, 06/07/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/
     
  • 1.17, Медведь (ok), 13:57, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А кто скажет, в пых уже завезли множества, словари, списки, вот это вот всё? Или за всех по прежнему отдувается убогонький ассоциативный массивчик? Варианты реализации как надстройки над ним же не в счет.
     
     
  • 2.20, Аноним (16), 14:02, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не завезли. Проблема пхп в том, что его дизайнят эксперты по пхп, а не эксперты по программированию =)
     
  • 2.80, Аноним (78), 18:21, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ровно так же, как и в жабоскрипте.
     
  • 2.89, Gemorroj (ok), 19:10, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    pecl модулем есть https://pecl.php.net/package/ds в ядро, к сожалению, так и не протащили.
     
  • 2.102, Аноним (102), 19:57, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чем ассоциативный массивчик не устраивает вас как словарь?
     
     
  • 3.137, Медведь (ok), 14:29, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя бы уже тем, что реализует кучу функционала, не нужного для словаря, а предназначенного для его (ассоциативного массивчика) использования в роли всех прочих структур данных. Я подозреваю, что сами разработчики не дадут вменяемой оценки времени доступа в таком "словаре" из-за всех костылей и рюшечек.
     
     
  • 4.183, Аноним (183), 13:35, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Удивительно, парой фраз поныть, что чего-то нет, и есть чтото лишнее.

     
  • 2.184, Аноним (184), 17:53, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > множества

    Есть в pecl: https://www.php.net/manual/en/class.ds-set.php. Для простейших случаев, когда Set<string> или Set<number>, достаточно ассоциативных массивов с фиксированным значением каждого ключа (null сойдет).

    > словари

    SplObjectStorage

    > списки

    питонист? ;) а какой список - FixedArray, Linked List, Queue, Stack? Это всё есть в SPL.

     

  • 1.24, Ногоед (?), 14:13, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё равно большинство сайтов пишутся в стиле PHP 4. Эти новые финтифлюшки нужны чуть более чем никому. И нет никого кто бы мог это опровергнуть.
     
     
  • 2.26, Медведь (ok), 14:15, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Плюс тонны легаси, которые никто не будет перекраивать вдоль и поперек.
     
  • 2.116, Аноним (78), 23:03, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Только копеечные поделки. Коммерческая разработка на фреймворках, а вот фреймворки уже по полной используют новые фичи.
     
  • 2.163, Сталин (?), 11:29, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дружище, ты крези? Большинство файлов пишуется на фреймворках, а там ничего нет от ПХП4.
     

  • 1.33, Какоето имя (?), 14:36, 06/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Оно ещё живо? Им практически никто не пользуется, есть Ява, какой смысл в Пхп ?
     
     
  • 2.36, Ногоед (?), 14:41, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > есть Ява

    Вордпресс с вукомерс уже переписали на джава? Как ты это будешь перекидывать по FTP на shared-хостера за $3 в месяц?

     
     
  • 3.119, rmh (?), 23:37, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Вордпресс с вукомерс уже переписали на джава

    *открыв список CVE для woo*  боюсь, там даже джава не поможет...

     
     
  • 4.120, Алиса порвалась (?), 23:48, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > *открыв список CVE для woo*

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

     
     
  • 5.143, Аноним (143), 17:49, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Такому магазинчику не нужен ни пхп, ни фтп, а хостер за 3$ — это слишком дорого. Достаточно движка статических сайтов типа Hugo и S3. Будет дешевле 3$ в месяц, при космической надёжности и скорости.
     
  • 2.101, Аноним (103), 19:56, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ява устарела гораздо сильнее.
     
     
  • 3.108, User (??), 20:15, 06/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > ява устарела гораздо сильнее.

    Ява как "язык"... да и то, вряд ли. Со времен 11 мноооого воды утекло - даже если какой kotlin не поминать, а уж как "экосистема"... Но "устаревает", да. Несмотря на "реновации".

     
     
  • 4.124, Дмитрий Коржевский (?), 00:08, 07/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Со времен 11

    Какой 11, кек, в проде поголовно 8 стоят.

     

  • 1.123, Дмитрий Коржевский (?), 00:06, 07/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > класс \Dom\HTMLDocument, поддерживающий корректный разбор разметки HTML5

    Ггг. Да неужели!?

     
  • 1.139, Анонист (?), 15:57, 07/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Пыха всегда ассоциируется с чем-то тёплым, ламповым. В своё время, где-то в 2007 году, много кода нагенерировал на этом чуде. Претензии некоторых товарищей совсем непонятны, ведь язык предоставляет возможностей даже больше, чем нужно для веба.
     
     
  • 2.157, Вы забыли заполнить поле Name (?), 01:57, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ведь язык предоставляет возможностей даже больше, чем нужно

    Пожалуй соглашусь https://i.pinimg.com/736x/90/79/66/907966c56175a9a439f001b68232c468.jpg

    > много кода нагенерировал на этом чуде

    Генерировать можно много и на другом чуде. Только с каких пор это является качественной метрикой?

     

  • 1.158, Старый виндузятник (?), 03:43, 08/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https://www.youtube.com/watch?v=r3Jzcz7-BnU

    Ага, давайте, расскажите мне про "пхп только для веба".
    И это вы еще полнофункциональное ДЕ не видели.

     
     
  • 2.169, Медведь (ok), 14:01, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, рассмешил. Напомнило: https://www.youtube.com/watch?v=xP5-iIeKXE8
     
     
  • 3.173, Старый виндузятник (?), 15:48, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что именно тебе смешно?

    Что существует быстрое, удобное, красивое, нетребовательное ДЕ, к тому же писанное на всем ненавистном PHP, а ты в это время срачишься в темах "ЖирноГном vs ТолстоКеды" ?)

    Кстати про жирность. Например плагин индикатора языков для панели - 140 строчек изящного PHP-кода. Посмотрел из интереса такой же плагин для lxpanel - 2500 строчек С-лапши. А работает все равно медленнее =)

     
     
  • 4.175, Медведь (ok), 18:00, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не ври себе и опеннету, кучка плагинов к lxde еще не DE ))

    > изящного PHP-кода

    В цирк я больше не пойду! Тут гораздо смешнее!

    > $menu_iten->connect(“activate”, function({$widget) {
    >     exec(”/system/php/bin/php /ssd/supreme-dev/control/index.php lang > /dev/null &");
    > });

    не поверишь, шелл-скрипт тут будет куда "изящнее" и хотя бы по теме

    > function write_1x_conf ($group, $key. $value)
    > {
    > // bla-bla ....
    > global $CURRENT_USER;
    > // bla-bla ....
    > }

    Мамка не говорила в детстве, что глобальные переменные -- фу? А, ну да, это ж пых...

    Дальше код не смотрел. Уныло.

    > А работает все равно медленнее =)

    Как замерял? Результаты в студию.

     
     
  • 5.181, Старый виндузятник (?), 23:35, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не ври себе и опеннету, кучка плагинов к lxde еще не DE ))

    В смысле плагинов?
    Это вообще-то именно DE как оно есть - со своей сессией, демоном настроек, рабочим столом, панелью, настройками и интеграцией.
    Но да, до последней версии оно юзало lxsession для перерисовки тем и иконок, потому что сам GTK в это не умеет. Сейчас это делается через xsettingsd

    > В цирк я больше не пойду! Тут гораздо смешнее!

    Ну так смейся, кто тебе мешает. От твоего смеха данная система не будет работать ни лучше, ни хуже.

    > не поверишь, шелл-скрипт тут будет куда "изящнее" и хотя бы по теме

    Конечно не поверю. Хотя бы потому что оно работает идеально.

    > Мамка не говорила в детстве, что глобальные переменные -- фу? А, ну да, это ж пых...

    Это десктоп, а не сервер. Если бы ты почаще заглядывал в код твоих ДЕ, ты бы видел что там половина переменных объявлена глобально.

    > Дальше код не смотрел. Уныло.

    Ты всегда можешь сделать правильнее.

    > Как замерял? Результаты в студию.

    Рукой с секундомером))

    Я не могу понять, с чем именно ты споришь?

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

     

  • 1.159, Аноним (159), 05:03, 08/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Скорее бы уже закончилось изнасилование синтаксиса РНР !
    Думаю что после этого должен появиться другой язык web-сценариев,
    с НОРМАЛЬНЫМ, ЧЕЛОВЕКОЧИТАЕМЫМ  синтаксисом !!!!
     
     
  • 2.160, sergeyka (?), 07:08, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Скорее бы уже закончилось изнасилование синтаксиса РНР !
    > Думаю что после этого должен появиться другой язык web-сценариев,
    > с НОРМАЛЬНЫМ, ЧЕЛОВЕКОЧИТАЕМЫМ  синтаксисом !!!!

    1с чтоли?

     
  • 2.174, Старый виндузятник (?), 16:25, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как ни странно, но C-подобный синтаксис, за исключением некоторых операторов - наиболее читабельный и легкий.

    Пацкальный begin\end - хорош, если кода до 100 строчек.
    Пизтоновские отступы - за них Гвиду вообще ждет отдельный котел в аду.

     
     
  • 3.180, Аноним (180), 22:25, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > наиболее читабельный и легкий.

    Чем синтаксис более человеко-читабельный, тем лучше. Здесь Ada вне конкуренции, ибо понять можно даже не зная саму Ada. А Си-подобный - это ужас из скобочек, закорючек и прочих невнятных символов !@#$%^&*

     
     
  • 4.182, Старый виндузятник (?), 23:40, 08/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем синтаксис более человеко-читабельный, тем лучше. Здесь Ada вне конкуренции, ибо понять можно даже не зная саму Ada. А Си-подобный - это ужас из скобочек, закорючек и прочих невнятных символов !@#$%^&*

    Нет не лучше. Синтаксис не должен быть человеко-читабельный, он должен быть понятным.

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

     

  • 1.162, Дед Анон (?), 08:43, 08/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    '''
    Объявлено устаревшим поведение, при котором для параметров функций с присвоенным по умолчанию значением null автоматически разрешалось присвоение значений null. Для того, чтобы подобные параметры могли принимать значения null теперь требуется явное указание префикса "?". Например, вместо "function save(Book $book = null) {}" следует указывать "function save(?Book $book = null) {}".
    '''
    Вот и зачем городить такой костыль?
     

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



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

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