Доступен (http://php.net/index.php#id2014-10-02-1) корректирующий выпуск языка программирования PHP 5.6.1, в котом устранено 19 ошибок, многие из которых могут привести к краху интерпретатора в процессе обработки некорректных конструкций. Кроме того, устранена (http://marc.info/?l=php-cvs&m=122068936217155) уязвимость в обработчике загрузки файлов (https://www.ietf.org/rfc/rfc1867.txt), вызванная некорректным освобождением областей памяти.
Дополнительно можно отметить статью (http://karlitschek.de/2014/10/a-possible-future-for-php/) Фрэнка Карличека (Frank Karlitschek), основателя платформы для создания облачных хранилищ ownCloud (http://www.opennet.me/opennews/art.shtml?num=40256), в которой он рассказал о причинах выбора PHP для реализации своего проекта и поразмышлял над возможностями, которые ему бы хотелось увидеть в будущих выпусках PHP. В качестве причин выбора PHP отмечается повсеместная поддержка PHP на хостингах, большое число библиотек и фреймворков, лёгкость разработки, привычность для web-разработчиков, приемлемая производительность.При этом язык содержит большие архитектурные проблемы, которые способствуют написанию плохого и небезопасного кода (например, массивы _GET и _POST, отсутствие унифицированного API для СУБД, различие в поведении на 32- и 64-разрядных системах, ненадёжные устаревшие концепции save_mode и open_basedir, необходимость ручного контроля для защиты от подстановки SQL и XSS).
Фрэнк считает, что языку мешает наследие 90-х годов прошлого века, поэтому нужно провести глобальную чистку языка и привести его к требованиям современных реалий. При этом важно не допустить нарушения обратной совместимости и подготовить средства для плавной миграции, для чего предлагается сохранить поддержку старых особенностей, а для обновлённого варианта языка добавить тег "<?PHPNEXT", который позволит постепенно переводить на изменённый синтаксис старые блоки "<?PHP".
URL: http://php.net/index.php#id2014-10-02-1
Новость: http://www.opennet.me/opennews/art.shtml?num=40740
>добавить тег "<?PHPNEXT"Ну нифига себе предложение по улучшению!
Да этот Карличек гений! Никто бы до такого гениального шага не додумался бы!
Памятник ему надо поставить. Срочно. А лучше переименовать в его честь сам ПХП.
PHPNEXT очень длинно, PHPNG, PHP7, другие варианты...
<?PHPMUSTDIE подходящий вариант.
> <?PHPMUSTDIE подходящий вариант.<?CRAPHERE больше подходит.
Новый PHP
Новый PHP(1)
Копия Новый PHP(1)
Карличек подумывает, не добавить ли в PHP поддержку systemd
Нет, ему не мешает наследие 90х, ему мешает отсутствие стержня развития. Каждая новая версия ломает обратную совместимость, хладнокровно вырезаются функции. Вспоминая переход от 4 к 5, половина веб движков встала, был хаос. Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность к отключению/включению функций в языке. А пока его приводят к требованиям современных реалий, пхп будет дыряв, крайне привлекателен для новичков обилием функций упрощающих жизнь и ужасен изменчивостью для бывалых пхпписателей.
>Вспоминая переход от 4 к 5, половина веб движков встала, был хаосНу в случае перехода с одной мажорной версии на другую - это нормально. Но когда ломаются приложения при переходе с 5.х на 5.х, то это уже дурдом какой-то. Не язык г..., а разрабы такие. Пилили бы себе 6-ую версию и ломали бы там все.
веб-движков
> отключению/включению функций в языкеВ языке не должно быть функций. В языке должны быть конструкции. Функции должны быть в библиотеках.
> Вспоминая переход от 4 к 5, половина веб движков встала, был хаос.
> Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность к отключению/включению функций в языке.Да-да! Даёшь Python 3 и Perl 6! Ой… А где же они?
В смысле где Python3? На сайте питона
> В смысле где Python3? На сайте питонаЯ как раз об этом. Он есть… ТОЛЬКО на сайте питона… потому что никто им не пользуется. При том, что 2-й вполне в ходу.
Тоже самое про Perl 6 — никто не спешит на него мигрировать с Perl 5.
Предыдущий оратор, _KUL, очень забавно в соседних предложениях ругает PHP за поломанную совместимость при смене — обратите внимание — мажорной версии, ставя в пример питон и перл, которые в новых инкарнациях вовсе не пользуются популярностью.
Ещё раз процитирую для прапорщиков:
> Вспоминая переход от 4 к 5, половина веб движков встала, был хаос.
> Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность к отключению/включению функций в языке.
Подскажите как мне для старого движка скачать старую версию php которая поддерживается разрабами и сейчас со всеми заплатками (например 4)? http://ru2.php.net/downloads.phpНо если у меня будет желание развернуть старый trac 0.12 я с лёгкостью это сделаю с Python 2 версии https://www.python.org/downloads/
> скачать старую версию php которая поддерживается разрабами и сейчас со всеми заплатками (например 4)?Да пожалуйста:
http://php.net/releases/> желание развернуть старый trac 0.12
Странное желание…
А скажите, при чём тут (не)совместимость мажорных версий PHP/Python/Perl?
> ему мешает отсутствие стержня развитияЭто вы про руби то?
> Пхп нужно посмотреть на питон/перл и перенять ту трепетность и аккуратность
> к отключению/включению функций в языке.python3 есть, но все пишут на 2.7.
perl6 есть, но все пишут на 5.x.y.
А разработчики трепетно и аккуратно развивают новую и старую ветки.
И только php... 5.3? выкинем это нафиг! 5.4? отключим вот это! 5.5? эгегей, читайте release notes и не обижайтесь потом!
Вы про это?
Правильно мыслит, надо сделать, что бы все было в одном стиле, а не как сейчас, собрная солянка
>массивы _GET и _POSTшо опять?
когда-то уже были выпилены^wпереименованы HTTP_VARS_GET, HTTP_VARS_POST
А толку от переименования?
Что бы нормально работать с запросом в PHP надо лезть в кучу разных мест стандартной библиотеки. Хочешь получить просто параметры? Ну да тут всё просто(_GET, _POST, а как же PUT и DELETE?), надо получить тело запроса в чистом виде - лезешь в другую часть, нужны заголовки запроса - опять лезешь в 3 место... В итоге что бы нормально работать с запросом нужно или костылять или написать обёртку которая соберёт всё вместе и позволит нормально работать с запросом. Собственно все фреймворки её реализуют.
>а как же PUT и DELETEДа как то с этими танцами мало кто связывается чтобы потом не разгребать траблы от клиентских браузеров/рантаймов/итд.
Ну конечно... То-то куча API разных сервисов в нете спокойно юзает эти методы.
>траблы от клиентских браузеровВ браузерах проблем нету. Стандартный XMLHttpRequest поддерживает все 4 метода.
>/рантаймов/итд.
Любая библиотека реализующая работу с http поддерживает все 4 метода. Тот же curl который многие используют для тестов API, хотя он вообще поддерживает различные кастомные методы.
Все 4-ре? Вообще-то их 9.
Я имел ввиду часто используемые(GET, POST, PUT, DELETE). А так конечно их больше.
HEAD тот же вообще используется браузерами неявно как правило.
Остальные 4-ре более редко встречаются в прикладных приложениях. Хотя Гугл к примеру использует options и patch в своих API.
>отсутствие унифицированного API для СУБДРасскажите ему что ли кто-нибудь про PDO.
>>отсутствие унифицированного API для СУБД
> Расскажите ему что ли кто-нибудь про PDO.Не поможет
> ненадёжные устаревшие концепции save_mod
saFe mode. И он был удален 2 версии назад.
По моему, как минимум нужно ориентироваться на сообщество PSR. Я люблю php, но его дестандартизированность просто выбешивает. На счет обратной совместимости: делайте 7-ю версию, приводите к чистому ООП API стандартных модулей и будет счастье.
Спецификация для 5.6 сейчас как раз в активной разработке.
И будет готова когда сам PHP 5.6 уже начнёт устаревать?Надо это как-то одновременно делать, а не выкатить продукт, а потом спеки писать.
Или это что бы задокументировать все баги найденные в процессе использования? :D
Проще, наверное, переписать owncloud с php на другой язык, чем вздыхать о несовершенстве мира в целом и той его части, которая отвечает за php, в частности. :)
> Проще, наверное, переписать owncloud с php на другой язык, чем вздыхать о
> несовершенстве мира в целом и той его части, которая отвечает за
> php, в частности. :)Не нужно его переписывать на другом языке.
> переписать owncloud с php на другой языкОблачное хранилище, переписанное на другом языке, давно существует - http://leo-project.net/leofs/index.html , в нём только нет вкусняшек для хомячков, вроде просмотра видео через уеб штатным софтом самого облака.
>"котом устранено 19 ошибок"Мне бы такого кота!
понятно, пхп пишет кот
Даю $500/месяц на вкусняшки + стандартный соц пакет. Котэ - приходите к нам работать! :)
Написано почему php, но не написано, почему _не_ питон или руби.
> Написано почему php, но не написано, почему _не_ питонЗачем писать об очевидном?
owncloud торт.
Поэтому простим его основателю эти бредовые идеи)
Перевод статьи: http://pyha.ru/forum/topic/8751
Похожая вещь, но на go http://leanote.com/
А где причина всех причин выбора языка для проекта??
"Я и мои коллеги умеем писать вот на этом, больше ниначем не умеем."