Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > PHP 5.4


Автор: MoLeX 22.1.2012, 18:21
Сабж

Автор: skyboy 22.1.2012, 18:37
 а че там нового, кроме http://php.net/traits? 
раздел "http://www.php.net/manual/en/migration54.php" чертовски радует унылой пустотой :(

Автор: MoLeX 22.1.2012, 18:47
skyboy, лично для меня:
1. traits (копи/пасте  smile )
2. улучшена производительность, скрипты стали работать намного быстрее (порядка 30%)

Автор: skyboy 22.1.2012, 20:46
Цитата(MoLeX @  22.1.2012,  17:47 Найти цитируемый пост)
traits (копи/пасте )

ну, согласен. приятное направление. главное - не перебарщивать, все ж есть резон использовать агрегирование вместо наследование и, как следствие, стратегии вместо подобного варианта "миксинов"  smile 
Цитата(MoLeX @  22.1.2012,  17:47 Найти цитируемый пост)
скрипты стали работать намного быстрее (порядка 30%) 

тут тоже проектнозависимо. лично я не сталкивался с ситуациями, когда производительность PHP была узким местом. правда, и с highload не работал, практически  :no 

Автор: Absinthe 22.1.2012, 21:39
Я перешел уже. Нет такого варианты в голосовании, кстати.

Traits мне не нужен, и объективно без него можно обойтись, здесь вам не JS.
Наконец то исправили ошибки в синтаксисе. Буду пользоваться, нравится.

Автор: $дмитрий 22.1.2012, 22:11
Интерес к 5.4 появится лишь тогда, когда текущий хостер включит его поддержку  smile 

Автор: Sanchezzz 22.1.2012, 22:53
Цитата

Интерес к 5.4 появится лишь тогда, когда текущий хостер включит его поддержку

Мне кажется выделенный отдельный сервер может позволить сейчас любая веб студия накройняк VPS

Автор: ShadowStep 22.1.2012, 23:22
Cмотрел, но не юзал. 
Мелкое но приятное изменение то что можно теперь обращаться к методам объекта сразу после его инициализации, одной строкой. Если не ошибаюсь это в 5.4 ввели smile

Автор: Sentox 23.1.2012, 01:21
Цитата(skyboy @ 22.1.2012,  18:37)
а че там нового, кроме http://php.net/traits? 
раздел "http://www.php.net/manual/en/migration54.php" чертовски радует унылой пустотой :(

О Боже, это что корявая попытка создать множественное наследование?

Автор: Nigel 23.1.2012, 02:38
Цитата(skyboy @ 22.1.2012,  18:37)
а че там нового, кроме http://php.net/traits? 
раздел "http://www.php.net/manual/en/migration54.php" чертовски радует унылой пустотой :(

Можешь тут посмотреть https://svn.php.net/repository/php/php-src/tags/php_5_4_0RC6/NEWS  smile 

Автор: Sentox 23.1.2012, 03:19
Цитата(Nigel @ 23.1.2012,  02:38)
Цитата(skyboy @ 22.1.2012,  18:37)
а че там нового, кроме http://php.net/traits? 
раздел "http://www.php.net/manual/en/migration54.php" чертовски радует унылой пустотой :(

Можешь тут посмотреть https://svn.php.net/repository/php/php-src/tags/php_5_4_0RC6/NEWS  smile

в основном фиксы

Автор: MoLeX 23.1.2012, 06:11
Цитата(skyboy @  22.1.2012,  20:46 Найти цитируемый пост)
тут тоже проектнозависимо. лично я не сталкивался с ситуациями, когда производительность PHP была узким местом. правда, и с highload не работал, практически  :no  

ну текущий у меня тоже не под нагрузкой, но на сервере CentOS + PHP 5.3.5 выполняется за 0,02 - 0,05.
На рабочем месте использовал Win7 + PHP 5.3.5 выполняется за 0,08 - 0,17
После перехода на PHP 5.4 (на рабочем месте), скорость стала как на сервере. Причем рабочее место куда мощнее чем мой VPS

Добавлено через 5 минут и 34 секунды
Код

function test()
{
   return array('a', 'b', 'c');
}

echo test()[1];

тоже вроде в РНР 5.4 вели впервые

Автор: Absinthe 23.1.2012, 07:16
Цитата

тоже вроде в РНР 5.4 вели впервые
 Баг закрыли. Темпы поражают smile

Автор: skyboy 23.1.2012, 15:27
Цитата(Absinthe @  23.1.2012,  06:16 Найти цитируемый пост)
Темпы поражают

не надо провокаций smile
понятно, что все одновременно не исправишь.
и то, что приоритеты багов у разработчиков могут не совпадать с мнением отдельных пользователей smile
Цитата(Sentox @  23.1.2012,  00:21 Найти цитируемый пост)
О Боже, это что корявая попытка создать множественное наследование? 

как на меня, довольно изящный подход: теперь интерфейс(interface + abstract) и реализация(extends class + use traits) могут наследоваться независимо.
а уж не выльется ли это в какашку - зависит только от разработчика.

Автор: SamDark 23.1.2012, 16:38
5.4 путёвый, но принципиально нового ничего нет, кроме довольно сомнительных трейтов. В любом случае без APC работающего под 5.4 смысла использовать пока нет.

Автор: skyboy 23.1.2012, 17:01
вот, и на хабре http://habrahabr.ru/blogs/php/136800/

Автор: MoLeX 23.1.2012, 18:30
Цитата

Scalar type hints

PHP явно идет в сторону строгой типизации. Раньше для автоматической проверки типа в аргументах метода можно было указывать только массивы и имена классов. Теперь такая возможность распространяется на некоторые другие типы: int, float и boolean.
Код


function foo(int $a, bool $b) {
  return true;
}




к сожалению типизации нету( 
хотя на счет неё очень много споров, но лично я склоняюсь к тому, что она нужна. Обычный пример: есть некая функция в сайте, сторонний разработчик пишет плагин и использует эту функцию. Разработчику сайта надо проверить что там пришло в ф-цию (вместо массива, например число подсунули) и такое лучше делать с помощью типизации. Но опять такие, должн остаться и старый способ
Код

function foo(int $a, bool $b) {
  return true;
}

// и старый
function foo($a, $b) {
  return true;
}

Автор: SamDark 23.1.2012, 19:31
skyboy, 
Плохая там сводка. С терминами напутали, про юникод немного не так можно понять да и вообще… лучше моё перечитать smile

http://rmcreative.ru/blog/post/php-5.4-alpha1
http://rmcreative.ru/blog/post/php-5.4-beta1
http://rmcreative.ru/blog/post/php-5.4-beta-2

http://rmcreative.ru/blog/post/korotkiy-echo-v-php-5.4
http://rmcreative.ru/blog/post/traits-i-chleny-klassa
http://rmcreative.ru/blog/post/php-rfc-vstroennyy-vebserver

Автор: Absinthe 23.1.2012, 20:37
Цитата

Scalar type hints
 Их не будет :(


SamDark, а вот ты мне лучше скажи smile

Мой опыт Yii 4 часа - в прочтении оффсайта и просмотра гайдов заключается.
Зачем tbl_ префикс?
Зачем C префикс в классах?
Почему baseUrl содержится в request? Оно же по сути не часть запроса, а просто свойство апа.
Ну и где найти пример простого приложения с примерами правильного использования? Написать я по сути на Yii какой-нибудь блог могу, но, думаю, "не православно".

Автор: SamDark 23.1.2012, 21:02
Absinthe, 

Оффтоп, несколько, выходит. Написал в личку.

Автор: krundetz 24.1.2012, 12:14
MoLeX, первый пункт у тебя не верный, надо убрать слово понравилось. Так как 5.4 выходит стабильная ветка, соответственно, прекращается поддержка ветки 5.2 и 5.3, веткой разработки становиться 5.5
Цитата($дмитрий @  22.1.2012,  22:11 Найти цитируемый пост)
Интерес к 5.4 появится лишь тогда, когда текущий хостер включит его поддержку

Ну хостеры будут переходить когда появятся сборки стабильные под используемые ими дистрибутивы. Но думаю время за этим не станет, так как поддержка 5.2 прекращается.
Цитата(Sentox @  23.1.2012,  03:19 Найти цитируемый пост)
в основном фиксы 

эта ветка подводит итог под всеми разрабтками в ветке 5.3 и в дальнейшем в этой ветке в основном фиксы будут
Цитата(SamDark @  23.1.2012,  16:38 Найти цитируемый пост)
5.4 путёвый, но принципиально нового ничего нет

и не будет, смотри выше
Цитата(SamDark @  23.1.2012,  16:38 Найти цитируемый пост)
В любом случае без APC работающего под 5.4 смысла использовать пока нет.

Раз появился 5.4 жди и APC, или ты располагаешь другой информацией
Цитата(SamDark @  23.1.2012,  19:31 Найти цитируемый пост)
Плохая там сводка. С терминами напутали, про юникод немного не так можно понять да и вообще… лучше моё перечитать

ну чего ты хочешь от ресурса обо всем на свете?

особенно убийственно вот это:
Цитата

Улучшена производительность @

Оператор @ служит в PHP для отключения вывода ошибок на текущей строке кода. Раньше в высоко нагруженных приложениях использовать @ было невозможно из-за довольно ощутимых тормозов. Поэтому лично я ее больше не использую нигде.

В конце-концов приглушать ошибки — это странно. Ошибки нужно исправлять или ловить Exceptions.

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

Автор: Absinthe 24.1.2012, 15:01
Цитата

Но думаю время за этим не станет, так как поддержка 5.2 прекращается.
 5.2 не поддержиается уже больше года и содержит неисправленные ошибки и уязвимости. Его использование не рекомендуется.
Единственной стабильной веткой PHP сейчас является 5.3.

Цитата

В любом случае без APC работающего под 5.4 смысла использовать пока нет.
 А разве внутреннее апи с 5.3 до 5.4 изменилось?

Автор: krundetz 24.1.2012, 16:33
Цитата(Absinthe @  24.1.2012,  15:01 Найти цитируемый пост)
Единственной стабильной веткой PHP сейчас является 5.3.

о точно, чет я значит в их нумерации запутался

Автор: SamDark 24.1.2012, 16:49
Absinthe, 
Да, что-то там поменяли вроде. Про APC было обсуждение и решили вроде релизнуть без него. Хотя это ещё во время альфы было, если не раньше.

Автор: Absinthe 24.1.2012, 16:59
Цитата

Да, что-то там поменяли вроде.
 А откуда, кстати, это узнаешь? Комьюнити кортима, или сам исходники мониторишь?

Автор: SamDark 24.1.2012, 18:00
Absinthe, 
Мейл-лист internals. Вот этот http://news.php.net/group.php?group=php.internals

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)