LINUX.ORG.RU

Релиз PHP 5.5.0

 


0

0

Основные нововведения PHP 5.5.0:

  • добавлена система кэширования и оптимизации байткода Zend OPcache;
  • добавлен новый API для хэширования паролей:
    $hash = password_hash($password, PASSWORD_DEFAULT);
    password_verify($password, $hash)"
    
    , в качестве аргумента для внедрения названо безалаберное отношение разработчиков к паролям;
  • поддержка сопрограмм (coroutine) и генераторов (generator), предоставляющих простой и не требующий создания шаблонов способ реализации итераторов:
    <?php
    function gen_one_to_three() {
        for ($i = 1; $i <= 3; $i++) {
            yield $i;
        }
    }
    
    $generator = gen_one_to_three();
    foreach ($generator as $value) {
        echo "$value\n";
    }
    ?>
    
  • поддержка ключевого слова 'finally', расширяющего возможности блоков исключений try/catch и выполняемого после завершения выполнения блока try, что гарантирует, что заданный в секции finally код будет выполнен в последнюю очередь после всех остальных обработчиков исключений:
  • поддержка указания list() внутри блока foreach ():
    foreach ($array as list($a, $b)){
    
    }
    
  • empty() и isset() могут работать над результатом функции и произвольными выражениями:
    empty(xyz());
    
  • добавлен метод Generator::throw();
  • поддержка системы трассировки Systemtap на платформе Linux;
  • сокращено число обращений к памяти на 8% за счёт оптимизации доступа к временным и компилированным переменным на уровне VM.

Список изменений

>>> Новость на OpenNET

★★★★★

Проверено: tazhate ()
Последнее исправление: pekmop1024 (всего исправлений: 8)

поддержка Windows XP и Windows 2003 прекращена

вендоадмины должны страдать!

ждем pkgbuild`ов.

leg0las ★★★★★
()

вендоадмины должны страдать!

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

MiniRoboDancer ★☆
()
password_verify($password, $hash)"

кавычки в конце не кажутся лишними?

Fuelen
()

Нет поддержки ключевого слова «ненужно». Вот беда...

rtvd ★★★★★
()

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

anonymous
()
Ответ на: комментарий от anonymous

Каким это образом он превращается в язык? Помады больше, суть та же.

Ну хоть так. Раньше даже помады не было.

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

risenshnobel ★★★
()

Оно становится похожим на язык программирования. Ура?

C1nde
()
Ответ на: комментарий от iron

Да вообще-то еще вчера появились.

Так то да. Но еще должны обновиться PHP_TARGETS у зависимых пакетов. Да и ставить маскированные пакеты на продакшн пока не хочется... так что ждем =)

l0stparadise ★★★★★
()
Ответ на: комментарий от l0stparadise

Но еще должны обновиться PHP_TARGETS у зависимых пакетов.

Это проблема зависимых пакетов и их разработчиков, а не самого php.

Да и ставить маскированные пакеты на продакшин пока не хочется.

Пакет по крайней мере не хард маскед. Если не юзается какая-нить важная сопутствующая либа, которая еще не допилина для php-5.5, то можно спокойно ставить и тестировать. А в стэйбл php-5.5 попадет еще не скоро. Вспомните ветку 5.4. Если я не ошибаюсь, в стейбл оно попало только с версии 5.4.8.

iron ★★★★★
()

в качестве аргумента для внедрения названо безалаберное отношение разработчиков к паролям

Разработчики на пхп - такие разработчики.

cipher ★★★★★
()

в качестве аргумента для внедрения названо безалаберное отношение разработчиков к паролям;

Покажите пример такого отношения, а то я что-то не могу придумать.

markevichus ★★★
()

Релиз PHP 5.5.0

поддержка ключевого слова 'finally'

Г-споди, и как же эти люди жили раньше.

AVas
()
Ответ на: комментарий от MiniRoboDancer

Надеюсь, что никогда. Денвер не нужен. Как и WAMPP. Кто хочет заниматься веб-разработкой, должен уметь устанавливать Linux (хотя-бы на Virtualbox). Не хватило ума на установку и настройку - значит никакой ты не веб-разработчик... Это барьер, который должен отсеивать тех, кто не желает учиться чему-то новому.

lucentcode ★★★★★
()

поддержка указания list() внутри блока foreach ()
поддержка ключевого слова 'finally'

И оно почти догнало яву 10 летней давности. Поздравляю пехапешников.

dizza ★★★★★
()

Сопрограммы и генераторы радуют. Кроме того, радует что WebP в GD добавили. Ничего революционного, но видно что PHP развивается. Может, со временем, его отставание(по количеству синтаксического сахара) от Ruby и Python заметно сократится.

lucentcode ★★★★★
()

empty() и isset() могут работать над результатом функции и произвольными выражениями:
поддержка указания list() внутри блока foreach ():

Ну наконец-то.

drull ★☆☆☆
()
Последнее исправление: drull (всего исправлений: 1)
Ответ на: комментарий от lucentcode

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

Полностью поддерживаю.

drull ★☆☆☆
()
Ответ на: комментарий от anonymous

это как косметика для старой *блудницы* - может морщины и скрывает, но дальше - хуже. Лучше бы они сделали усилие и наконец убрали все костыли и несуразности оставшиеся от ранних версий.

rikardoac
()

$array as list($a, $b)

Решили устаканить сей замечательный и интуитивно понятный синтаксис?

// Почти сразу понял, что tuple-unpacking из видимо ассоциативного массива, хотя до сих пор сомнения.

anonymous
()
Ответ на: комментарий от MiniRoboDancer

Пострадает в первую очередь школота, которая делает говносайты
школота, которая делает говносайты

На пых-пых есть кто-то еще?! O_o

k0valenk0_igor ★★★
()
Ответ на: комментарий от helios

Э, так вроде питон3 вполне себе жив и развивается. На нем теперь даже джанга работает.

А с перлом не знаком, но разве он сейчас не умирает?

rikardoac
()
Ответ на: комментарий от rikardoac

Э, так вроде питон3 вполне себе жив и развивается.

numpy уже переписали? Я к тому, что это долгий процесс, который неизвестно чем закончится. Опять же недовольные недовольны (например, что encode/decode у строк выпилили).

А с перлом не знаком, но разве он сейчас не умирает?

Лет 20 уже умирает, да вот всё никак :)

helios ★★★★★
()
Ответ на: комментарий от lucentcode

Кто хочет заниматься веб-разработкой, должен уметь устанавливать Linux

Тащем, веб-сервер руками можно и под виндой поднять. Но зачем?

//Денвер хорош тем, что вся работа с хостами автоматизирована, не надо пердолиться при добавлении нового. Но минус такого подхода - все директории прибиты гвоздями.

MiniRoboDancer ★☆
()
Ответ на: комментарий от metrokto

Джва года хотел!

Самое интересное, что не понятно где описка, то-ли хотел два года, то-ли хотел как в джаве.

pba
()
Ответ на: комментарий от helios

Но это не мешает кодерам тупо хешировать пароли.

Конечно не мешает. Это проблемы не очень умных кодеров.

resurtm ★★★
()
Ответ на: комментарий от MiniRoboDancer

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

Я лично никогда не понимал, для чего вообще нужен Денвер этот. Как-то однажды пришлось настраивать сервер на Винде и поставить туда Apache, MySQL и PHP. До этого никогда этого не делал под Виндой, но справился с первой же попытки. Просто скачал *.msi пакеты с сайтов проектов и установил их. Всё заработало сразу и само по себе (ну конфиги немного крутил — это само собой).

Я, видимо, не понимаю какого-то сакрального смысла и профита в использовании Денвера хомяками. :-)

resurtm ★★★
()
Последнее исправление: resurtm (всего исправлений: 3)
Ответ на: комментарий от resurtm

Конечно не мешает. Это проблемы не очень умных кодеров.

Перечитайте ветку. Это был пример «безалаберного отношения разработчиков к паролям».

helios ★★★★★
()
Ответ на: комментарий от helios

Это был пример «безалаберного отношения разработчиков к паролям».

А каким боком тут PHP и его разработчики? Я когда изучал PHP после C++, то сразу додумался, что просто хешировать пароли недостаточно и нагуглил phpass и bcrypt.

resurtm ★★★
()
Ответ на: комментарий от resurtm

хомячки не в курсе

многие, кто начинает изучать PHP, по тем или иным причинам понятия не имеет о способах безопасного хранения паролей в БД ;)

shybovycha
()
Ответ на: комментарий от helios

numpy уже переписали?

Уже давным давно... Теперь все трое (NumPy, SciPy и Matplotlib) поддерживают Python 3.

Опять же недовольные недовольны (например, что encode/decode у строк выпилили).

Дебилы часто много чем недовольны. Разделение строк и байтов это вин!

anonymous
()

поддержка ключевого слова 'finally', расширяющего возможности блоков исключений try/catch и выполняемого после завершения выполнения блока try

Не прошло двадцати лет

LongLiveUbuntu ★★★★★
()

в качестве аргумента для внедрения названо безалаберное отношение разработчиков к паролям

хаха. то есть да, хахаха.

Deleted
()
Ответ на: комментарий от resurtm

1) Apache
2) MySQL
3) PHP

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

ну конфиги немного крутил — это само собой

This.

Ну, и про удобство работы с хостами я уже выше говорил.

MiniRoboDancer ★☆
()

Даже из педона воруют теперь.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.