The OpenNET Project / Index page

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

Выпуск PHP 5.6.1. Предложения по улучшению PHP от основателя ownCloud

03.10.2014 11:53

Доступен корректирующий выпуск языка программирования PHP 5.6.1, в котором устранено 19 ошибок, многие из которых могут привести к краху интерпретатора в процессе обработки некорректных конструкций. Кроме того, устранена уязвимость в обработчике загрузки файлов, вызванная некорректным освобождением областей памяти.

Дополнительно можно отметить статью Фрэнка Карличека (Frank Karlitschek), основателя платформы для создания облачных хранилищ ownCloud, в которой он рассказал о причинах выбора PHP для реализации своего проекта и поразмышлял над возможностями, которые ему бы хотелось увидеть в будущих выпусках PHP. В качестве причин выбора PHP отмечается повсеместная поддержка PHP на хостингах, большое число библиотек и фреймворков, лёгкость разработки, привычность для web-разработчиков, приемлемая производительность.

При этом язык содержит большие архитектурные проблемы, которые способствуют написанию плохого и небезопасного кода (например, массивы _GET и _POST, отсутствие унифицированного API для СУБД, различие в поведении на 32- и 64-разрядных системах, ненадёжные устаревшие концепции safe_mode и open_basedir, необходимость ручного контроля для защиты от подстановки SQL и XSS).

Фрэнк считает, что языку мешает наследие 90-х годов прошлого века, поэтому нужно провести глобальную чистку языка и привести его к требованиям современных реалий. При этом важно не допустить нарушения обратной совместимости и подготовить средства для плавной миграции, для чего предлагается сохранить поддержку старых особенностей, а для обновлённого варианта языка добавить тег "<?PHPNEXT", который позволит постепенно переводить на изменённый синтаксис старые блоки "<?PHP".

  1. Главная ссылка к новости (http://php.net/index.php#id201...)
  2. OpenNews: Релиз языка программирования PHP 5.6.0
  3. OpenNews: Facebook представил Hack, вариант языка PHP со статической типизацией
  4. OpenNews: Разработчики PHP представили интерпретатор нового поколения (PHPNG)
  5. OpenNews: Опубликован первый вариант спецификации для языка программирования PHP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40740-php
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 12:20, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >добавить тег "<?PHPNEXT"

    Ну нифига себе предложение по улучшению!
    Да этот Карличек гений! Никто бы до такого гениального шага не додумался бы!
    Памятник ему надо поставить. Срочно. А лучше переименовать в его честь сам ПХП.

     
     
  • 2.3, Sergey722 (ok), 12:32, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    PHPNEXT очень длинно, PHPNG, PHP7, другие варианты...
     
     
  • 3.42, Аноним (-), 22:36, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    <?PHPMUSTDIE подходящий вариант.
     
     
  • 4.43, Аноним2 (?), 22:37, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > <?PHPMUSTDIE подходящий вариант.

    <?CRAPHERE больше подходит.

     
  • 2.19, rm1 (?), 15:49, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Новый PHP
    Новый PHP(1)
    Копия Новый PHP(1)
     
  • 2.41, Никъ (?), 22:24, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Карличек подумывает, не добавить ли в PHP поддержку systemd
     

  • 1.2, _KUL (ok), 12:30, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Нет, ему не мешает наследие 90х, ему мешает отсутствие стержня развития. Каждая новая версия ломает обратную совместимость, хладнокровно вырезаются функции. Вспоминая переход от 4 к 5, половина веб движков встала, был хаос. Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность к отключению/включению функций в языке. А пока его приводят к требованиям современных реалий, пхп будет дыряв, крайне привлекателен для новичков обилием функций упрощающих жизнь и ужасен изменчивостью для бывалых пхпписателей.
     
     
  • 2.7, давно тут (?), 12:49, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Вспоминая переход от 4 к 5, половина веб движков встала, был хаос

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

     
  • 2.10, Grammar_Nazi (?), 13:10, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    веб-движков
     
  • 2.15, Аноним (-), 13:44, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > отключению/включению функций в языке

    В языке не должно быть функций. В языке должны быть конструкции. Функции должны быть в библиотеках.

     
  • 2.17, Moomintroll (ok), 14:10, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вспоминая переход от 4 к 5, половина веб движков встала, был хаос.
    > Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность к отключению/включению функций в языке.

    Да-да! Даёшь Python 3 и Perl 6! Ой… А где же они?

     
     
  • 3.18, Владимир (??), 14:33, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В смысле где Python3? На сайте питона
     
     
  • 4.24, Moomintroll (ok), 16:48, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > В смысле где Python3? На сайте питона

    Я как раз об этом. Он есть… ТОЛЬКО на сайте питона… потому что никто им не пользуется. При том, что 2-й вполне в ходу.

    Тоже самое про Perl 6 — никто не спешит на него мигрировать с Perl 5.

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

    Ещё раз процитирую для прапорщиков:

    > Вспоминая переход от 4 к 5, половина веб движков встала, был хаос.
    > Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность к отключению/включению функций в языке.

     
     
  • 5.28, _KUL (ok), 18:13, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Подскажите как мне для старого движка скачать старую версию php которая поддерживается разрабами и сейчас со всеми заплатками (например 4)? http://ru2.php.net/downloads.php

    Но если у меня будет желание развернуть старый trac 0.12 я с лёгкостью это сделаю с Python 2 версии https://www.python.org/downloads/

     
     
  • 6.48, Moomintroll (ok), 14:39, 06/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > скачать старую версию php которая поддерживается разрабами и сейчас со всеми заплатками (например 4)?

    Да пожалуйста:
    http://php.net/releases/

    > желание развернуть старый trac 0.12

    Странное желание…

    А скажите, при чём тут (не)совместимость мажорных версий PHP/Python/Perl?

     
  • 2.29, Anonust (?), 18:15, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ему мешает отсутствие стержня развития

    Это вы про руби то?

     
  • 2.36, XoRe (ok), 12:17, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность
    > к отключению/включению функций в языке.

    python3 есть, но все пишут на 2.7.
    perl6 есть, но все пишут на 5.x.y.
    А разработчики трепетно и аккуратно развивают новую и старую ветки.
    И только php... 5.3? выкинем это нафиг! 5.4? отключим вот это! 5.5? эгегей, читайте release notes и не обижайтесь потом!
    Вы про это?

     

  • 1.4, Аноним (4), 12:41, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Правильно мыслит, надо сделать, что бы все было в одном стиле, а не как сейчас, собрная солянка
     
  • 1.5, давно тут (?), 12:43, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >массивы _GET и _POST

    шо опять?
    когда-то уже были выпилены^wпереименованы HTTP_VARS_GET, HTTP_VARS_POST

     
     
  • 2.23, Ан (??), 16:47, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А толку от переименования?
    Что бы нормально работать с запросом в PHP надо лезть в кучу разных мест стандартной библиотеки. Хочешь получить просто параметры? Ну да тут всё просто(_GET, _POST, а как же PUT и DELETE?), надо получить тело запроса в чистом виде - лезешь в другую часть, нужны заголовки запроса - опять лезешь в 3 место... В итоге что бы нормально работать с запросом нужно или костылять или написать обёртку которая соберёт всё вместе и позволит нормально работать с запросом. Собственно все фреймворки её реализуют.
     
     
  • 3.35, mma (?), 10:16, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >а как же PUT и DELETE

    Да как то с этими танцами мало кто связывается чтобы потом не разгребать траблы от клиентских  браузеров/рантаймов/итд.

     
     
  • 4.38, Ан (??), 13:52, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну конечно... То-то куча API разных сервисов в нете спокойно юзает эти методы.
    >траблы от клиентских  браузеров

    В браузерах проблем нету. Стандартный XMLHttpRequest поддерживает все 4 метода.

    >/рантаймов/итд.

    Любая библиотека реализующая работу с http поддерживает все 4 метода. Тот же curl который многие используют для тестов API, хотя он вообще поддерживает различные кастомные методы.

     
     
  • 5.39, анонимус (??), 16:11, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Все 4-ре? Вообще-то их 9.
     
     
  • 6.44, Ан (??), 23:32, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Я имел ввиду часто используемые(GET, POST, PUT, DELETE). А так конечно их больше.
    HEAD тот же вообще используется браузерами неявно как правило.
    Остальные 4-ре более редко встречаются в прикладных приложениях. Хотя Гугл к примеру использует options и patch в своих API.
     

  • 1.8, анонимус (??), 12:50, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >отсутствие унифицированного API для СУБД

    Расскажите ему что ли кто-нибудь про PDO.

     
     
  • 2.14, йцу (?), 13:40, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>отсутствие унифицированного API для СУБД
    > Расскажите ему что ли кто-нибудь про PDO.

    Не поможет

    > ненадёжные устаревшие концепции save_mod

    saFe mode. И он был удален 2 версии назад.


     

  • 1.9, Аноним (-), 13:01, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По моему, как минимум нужно ориентироваться на сообщество PSR. Я люблю php, но его дестандартизированность просто выбешивает. На счет обратной совместимости: делайте 7-ю версию, приводите к чистому ООП API стандартных модулей и будет счастье.
     
     
  • 2.12, йцу (?), 13:29, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Спецификация для 5.6 сейчас как раз в активной разработке.
     
     
  • 3.21, Ан (??), 16:18, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    И будет готова когда сам PHP 5.6 уже начнёт устаревать?

    Надо это как-то одновременно делать, а не выкатить продукт, а потом спеки писать.
    Или это что бы задокументировать все баги найденные в процессе использования? :D

     

  • 1.13, бедный буратино (ok), 13:30, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Проще, наверное, переписать owncloud с php на другой язык, чем вздыхать о несовершенстве мира в целом и той его части, которая отвечает за php, в частности. :)
     
     
  • 2.16, Аноним (-), 13:46, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Проще, наверное, переписать owncloud с php на другой язык, чем вздыхать о
    > несовершенстве мира в целом и той его части, которая отвечает за
    > php, в частности. :)

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

     
  • 2.46, YetAnotherOnanym (ok), 13:10, 05/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > переписать owncloud с php на другой язык

    Облачное хранилище, переписанное на другом языке, давно существует - http://leo-project.net/leofs/index.html , в нём только нет вкусняшек для хомячков, вроде просмотра видео через уеб штатным софтом самого облака.

     

  • 1.22, Аноним (-), 16:19, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    >"котом устранено 19 ошибок"

    Мне бы такого кота!

     
     
  • 2.25, Fantomas (??), 17:21, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    понятно, пхп пишет кот
     
  • 2.30, Аноним (-), 18:23, 03/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Даю $500/месяц на вкусняшки + стандартный соц пакет. Котэ - приходите к нам работать! :)
     

  • 1.32, alltiptop (ok), 21:52, 03/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Написано почему php, но не написано, почему _не_ питон или руби.
     
     
  • 2.34, Led (ok), 00:31, 04/10/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Написано почему php, но не написано, почему _не_ питон

    Зачем писать об очевидном?


     

  • 1.37, XoRe (ok), 12:36, 04/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    owncloud торт.
    Поэтому простим его основателю эти бредовые идеи)
     
  • 1.40, Аноним (-), 21:23, 04/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Перевод статьи: http://pyha.ru/forum/topic/8751
     
  • 1.45, Аноним (-), 01:55, 05/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Похожая вещь, но на go http://leanote.com/
     
  • 1.47, o (?), 18:24, 05/10/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где причина всех причин выбора языка для проекта??
    "Я и мои коллеги умеем писать вот на этом, больше ниначем не умеем."
     

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



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

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