LINUX.ORG.RU

Релиз PHP 5.3.0

 


0

0

После четырех релиз кандидатов выпущена первая релизная версия PHP серии 5.3.х :

  • Обновлены bundled версии sqlite и pcre
  • следующие расширения были перемещены в PECL
    • ext/dbase
    • ext/fbsql
    • ext/fdf
    • ext/ncurses
    • ext/mhash (слой BC теперь полностью находится в ext/hash)
    • ext/ming
    • ext/msql
    • ext/sybase (более не поддерживается, используйте вместо него sybase_ct)
  • Несколько изменен синтакс php.ini для удобства и улучшения его читабельности
  • Расширения SPL, PCRE, Reflection теперь включены по умолчанию. Режим FastCGI, к тому же, не может быть отключен
  • Добавлены лямбда-функции и замыкания, оператор «jump label», cинтаксисы NOWDOC, HEREDOC, несколько новых констант
  • Добавлена поддержка пространств имен, добавлена улучшенная обработка исключений (exceptions linking, exceptions in destructors,
  • Улучшена производительность и оптимизировано потребление памяти.
  • Появился сборщик мусора
  • Улучшена поддержка Windows, в том числе и Windows 7
  • Улучшения в расширениях streams, dns api, hash, imap, mbstring, osi8, openssl, pcntl, soap, spl.
  • Новые расширения — enchant (проверка орфографии), fileinfo, intl, mysqlnd, phar (архивы php), sqlite3
  • Многочисленные изменения и улучшения в функциях PHP, исправления ошибок и многое другое

Скачать

Полный список изменений доступен в файле NEWS внутри архива

>>> Подробности

★★★★★

Проверено: boombick ()

Ответ на: комментарий от mrxrrr

>> Да ты говно хоть тройным слоем шоколад покрой и даже в фальгу заверни. Как откусишь - всеравно блеванешь.

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

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

> А как, простите, работать, скажем, со вводом-выводом без оных?

Олдскульными методами через if (func() === FALSE) die();

Например, http://ru2.php.net/manual/en/function.file-get-contents.php

file_get_contents — Reads entire file into a string

The function returns the read data or FALSE on failure.

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

Ты смотри, по ссылке действительно написано, что это namespace'ы… Страшненько.

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

> Никаких исключений в стандартных функциях? А как, простите, работать, скажем, со вводом-выводом без оных?

Вы на Си ни строчки не написали, что ли?

sv75 ★★★★★
()

> exceptions in destructors

Вот это интересно. Кто-нить смотрел? Прямая ссылка есть?

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

Мне плохо.

Трудно поверить в существование в двадцать первом веке интерпретируемого языка общего назначения, у которого только спустя четырнадцать лет существования появились неймспейсы (причем так, что лучше бы и не появлялись, все равно еще лет сто никто их юзать не будет), отлов сборщиком мусора циклических ссылок, замыкания (тоже, правда, через одно место)... И до сих пор функции глобальной библиотеки не используют исключений...

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

>Вы на Си ни строчки не написали, что ли?

Строчку, положим, напейсал. Именно этого я и боялся - обработка исключительных ситуаций в высокоуровневом динамическом интерпретируемом языке не с помощью исключений, а через жопу^W^Wкак в си.

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

> в С есть setjmp/longjmp, если нужны эксепшены

А ресурсы освобождать по дороге ("finally")? Нет уж, goto и коды возврата наше всё.

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

> Именно этого я и боялся - обработка исключительных ситуаций в высокоуровневом динамическом интерпретируемом языке не с помощью исключений, а через жопу^W^Wкак в си.

Как в пёрле, скорее. А что?

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

> АхахахаххаааахАХХАХАхахахахахаа.

Петросян.jpg

Троллинг - это высокое искусство. А тебя заменит одностраничный скрипт на перле.

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

>обработка исключительных ситуаций в си как-то реализована ?

К.О. рапортует, что нет. Об этом и речь.

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

> А ресурсы освобождать по дороге ("finally")? Нет уж, goto и коды возврата наше всё.

Гы-гы-гы! Так и goto не было (Note: The goto operator is available as of PHP 5.3.). Так что ни то, ни другое было в РНР недоступно и отсылка к практике программирования на С некорректна :-)

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

> Гы-гы-гы! Так и goto не было

Я про Си. А php ничего освобождать не нужно, нужно мусорить и разводить срач. Это Good php style.

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

> Я про Си. А php ничего освобождать не нужно, нужно мусорить и разводить срач. Это Good php style.

РНР, вообще-то, годится только для того, для чего щас пытаются прикрутить шаблоны (дизайна). В общем, как template engine РНР вполне себе годится. Там и срач негде развести, даже при всем желании.

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

www_linux_org_ru ★★★★★
()

А смысл в этих всех улучшениях, если стандартная библиотека как была процедурным говном, так и осталась?

Используешь strpos, а вместо exception'a где-то в html'e видешь текст ошибки (можно и пропустить), это, конечно, очень профессионально будет выглядеть. Снаружи - объекты и исключения, а внутри - процедурщина и спагетти.

Нет, Java всё-таки в этом плане даёт фору PHP. Почему, интересно, все так любят эту поделку РНР?

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

> и про goto не забыть! ;-)

Требую добавить про GOTO и выделить КАПСЛОКОМ И ЖИРНЫМ ШРИФТОМ!!!!111

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

> Нет, Java всё-таки в этом плане даёт фору PHP. Почему, интересно, все так любят эту поделку РНР?

Потому, что у явы кошмарно избыточный синтаксис. А иначе вполне могла бы с РНР конкурировать.

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

php стала популярна еще с PHP 3
а вот ява тогда была закрытым неповоротливым проектом, и сейчас яве еще далеко до возможности запускаться на VPS-ах с небольшим количеством памяти.


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

> php стала популярна еще с PHP 3. а вот ява тогда была закрытым неповоротливым проектом, и сейчас яве еще далеко до возможности запускаться на VPS-ах с небольшим количеством памяти.

Это локальные реалии РФ, не более того.

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

> и сейчас яве еще далеко до возможности запускаться на VPS-ах с небольшим количеством памяти.

Думаешь РНР жрет меньше чем ява? Я что-то сомневаюсь. По старой памяти, 1 экземляр апача с РНР отжирает где-то 10-20 метров. Но вопрос интересный.

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

ок, дано

VPS, 128 Mb RAM
требуется - поднять почту, с веб интерфейсом к ней
веб сервер - форум, сайт на основе CMS какой-угодно, но желательно с интеграцией с форумом, блог, галерея там простенькая

предложите набор программ?

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

на nginx ли они переходят?

nginx как reverse proxy да, файл хостинг для images.<some>.net - да
а скриптовая часть все равно на апаче + что-то

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

Да какая разница, тогда light httpd, хотя многие и на nginx ставят в последнее время. Я к тому что apache отжирает бОльшую часть памяти, я например недавно пробовал запускать php daemon, так вот памяти он занимал 3-4 мб.

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

> По старой памяти вспомните почему более-менее посещаемые проекты переходят с apache на nginx или lighthttpd.

Очевидно потому, что иначе сотня сессий с юзерами на диалапе сожрет всю оперативу.

А насчет РНР -- у вас есть более точные, чем мои цифры апач_с_пхп - просто_апач = ?

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

> я например недавно пробовал запускать php daemon, так вот памяти он занимал 3-4 мб

Ненадо увиливать. *Экземпляр* сколько жрет?

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

вполне эффективно работает..

mysql 11788 0.0 14.0 147512 42176 ? S<l Jun08 8:54 /usr/sbin/mysqld
root 28561 0.0 0.2 3900 732 ? Ss Jun18 0:00 nginx: master process nginx
httpd 28562 0.0 0.5 4124 1532 ? SN Jun18 0:13 nginx: worker process
httpd 28563 0.0 0.5 4124 1532 ? SN Jun18 0:14 nginx: worker process
root 32163 0.0 2.7 75012 8272 ? Ss 15:25 0:00 httpd -k start
httpd 32176 0.0 10.1 76124 30440 ? S 15:25 0:08 httpd -k start
httpd 32177 0.0 10.1 76080 30452 ? S 15:25 0:11 httpd -k start
httpd 32178 0.0 10.6 77640 32016 ? S 15:25 0:11 httpd -k start
httpd 32179 0.0 10.1 76100 30448 ? S 15:25 0:09 httpd -k start
.....

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

nginx само собой, как фронтэнд

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

на чистом nginx можно сделать только сайт-презентацию
на флеше, ну или old school html )

во всех остальных случаях нужен какой-то CGI , а на PHP большой выбор свободных приложений самого разнообразного применения и назначения

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

может быть) но имея мало опыта - LAMP (где P - PHP) поднять гораздо проще)
отсюда и рспространенность )

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

> может быть) но имея мало опыта - LAMP (где P - PHP) поднять гораздо проще) отсюда и рспространенность )

Ну Ява конечно выглядит немного анально-рабской как язык. Особенно голые jsp+сервлеты.

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

> Почему, интересно, все так любят эту поделку РНР?

дело в низком пороге вхождения, по-моему. В том смысле что положим мне нужно написать hello world (Ну или hello vasiya) на странице. Что для этого мне нужно сделать?

на php я создаю файл hello.php и пишу echo "hello vasiya";

И это в принципе всё что нужно. Дальше пиши свою лапшу, радуйся собственной генеальности и будь счастлив.

а на java? Для начала надо сконфигурировать сервер. Потом понять, что и как ты будешь обрабатывать. И лишь потом можно воспользоваться чем-то вроде jsp. Не каждая птица долетит до середины Днепра, знаете ли.

Да, конечно, потом, когда проекты становятся большими и сложными, просто диву даёшься, что за говно это ваше пэхэпэ и почему оно так медленно работает. И почему нет даже долбаных неймспейсов (спасибо девелоперам, теперь есть _долбаные_ неймспейсы). Но это ведь потом. А надо чтобы счатье было здесь, сейчас и с минимальными затратами усилий.

Да и надо признать, большинству сайтов-визиток больше чем php не нужно. Делать сайт на java в таком случае - лишь повышать его стоимость, при этом абсолютно никаких преимуществ клиент не увидит.

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

> Потому, что у явы кошмарно избыточный синтаксис. А иначе вполне могла бы с РНР конкурировать.

по-моему нет. просто яву если не знаешь (как технологию для веб, а не только как язык) - нихрина ты не напишешь. А на похапе вполне можно. Даже не зная язык.

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

> и сейчас яве еще далеко до возможности запускаться на VPS-ах с небольшим количеством памяти.

Хм.. по мне так поставь параметры нужные и вперёд. Даже на 64 метрах можно завести и работать будет не медленнее пэхэпэ. Хотя я не пробовал, но не вижу принципиальных проблем с этим.

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

> предложите набор программ?

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

Не согласен с аргументом.

AndreyKl ★★★★★
()

оператор jump label - велком в адский код.

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

> 13.2 - 9.4 = 3.8мб

Методика измерений? Мерять это на запущенном экземпляре, который делает работу. Хотя бы спит в пхп.

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

> но имея мало опыта - LAMP (где P - PHP) поднять гораздо проще)

> отсюда и рспространенность )

согласен.

AndreyKl ★★★★★
()

Слушайте... ведь этот PHP защищен от форков на уровне лицензии... Если уничтожить гнездо, то вся мелочь разбежиться... Может того... победим мировое зло сообща?

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

> Думаешь РНР жрет меньше чем ява? Я что-то сомневаюсь. По старой памяти, 1 экземляр апача с РНР отжирает где-то 10-20 метров.

Угу. А один экземпляр tomcat6 отжирает 100 метров. Ну и тот же апач или что-то еще перед ним еще 10. Разница как бы на порядок.

no-dashi ★★★★★
()
Ответ на: комментарий от AndreyKl

> по мне так поставь параметры нужные и вперёд.

И вот интересно - куда же вы денете например 60 мегабайт классов в rt.jar?

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