URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 93681
[ Назад ]

Исходное сообщение
"Начало тестирования PHP 5.6.0"

Отправлено opennews , 24-Янв-14 11:45 
Представлен (http://php.net/index.php#id2014-01-23-1) вервый альфа-выпуск новой значительной ветки языка программирования  PHP 5.6.0.


Наиболее заметные улучшения (http://docs.php.net/manual/en/migration56.new-features.php):

-  Константные скалярные выражения (constant scalar expressions), допускающие применение операций над числовыми или строковыми литералами и константами в контексте, предусмотренном для статических значений, таком как определение констант или значений по умолчанию аргументов функций. Например, "const ONE = 1; const TWO = ONE + 2;"
-  Функции с переменным числом аргументов (Variadic function (http://en.wikipedia.org/wiki/Variadic_functions)), при определении которых явно не указывается число передаваемых аргументов. Например, функцию "function f($req, $opt = null, ...$params)" можно вызывать как f(1, 2), f(1, 2, 3, 4, 5) и т.п., где $req является обязательным аргументом, $opt - опциональным, а все дополнительные аргументы передаются в форме массива $params.
-  Распаковка массивов или перечисляемых объектов в вид набора аргументов при вызове функции, используя оператор "...". Например, "$operators = [2, 3]; echo add(1, ...$operators);", где add является функцией трёх аргументов;
-  Возможность использования оператора use для импорта функций и констант, в дополнение к импорту классов. Например, "namespace { use function Name\Space\f;...." для импорта в текущее пространство имён функции f, определённой в пространстве имён Name\Space;
-  Возможность повторного использования ввода php://input, который теперь может быть переоткрыт и прочитан более одного раза. Изменение также привело к значительному сокращению потребления памяти при обработке данных, переданных через метод POST;
-  Для объектов GMP (http://docs.php.net/manual/en/book.gmp.php) обеспечена возможность перегрузки оператора и приведения скалярных типов;


-  Поддержка загрузки файлов, размером больше 2GiB;
-  Улучшение поддержки SSL/TLS. В частности, в расширении OpenSSL добавлена возможность извлечения и проверки подписи (fingerprint) сертификатов. Для извлечения подписи из сертификатов X.509 добавлена функция openssl_x509_fingerprint(). Для SSL-потоков добавлены две контекстные опции: capture_peer_cert  для захвата сертификата X.509 и peer_fingerprint для проверки его соответствия заданной подписи. Кроме того, добавлена поддержка выбора криптографических методов, таких как  SSLv3 и TLS, через установку контекстной опции crypto_method,  поддерживающей значения  STREAM_CRYPTO_METHOD_SSLv2_CLIENT, STREAM_CRYPTO_METHOD_SSLv3_CLIENT, STREAM_CRYPTO_METHOD_SSLv23_CLIENT (по умолчанию) и STREAM_CRYPTO_METHOD_TLS_CLIENT;


-  Добавлена поддержка алгоритма хэширования gost-crypto;
li class=l> Новый интерактивный отладчик phpdbg (http://phpdbg.com/docs), выполненный в форме модуля SAPI.

URL: http://php.net/index.php#id2014-01-23-1
Новость: http://www.opennet.me/opennews/art.shtml?num=38920


Содержание

Сообщения в этом обсуждении
"Начало тестирования PHP 5.6.0"
Отправлено G.NercY.uR , 24-Янв-14 11:45 
Я им пользуюсь. И желаю ему развития и улучшения :)
Кстати уважаемые, скажите а в PHP много дырок которые могут эксплуатироваться вне зависимости от кривости написанного php кода?
Ну типа таких что например вне зависимости от php файла, если ему передаёшь определённым образом оформленный get запрос, то происходит эксплуатация уязвимости.

"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 11:47 
Серьезный coming out.

"Начало тестирования PHP 5.6.0"
Отправлено Pahanivo , 24-Янв-14 12:42 
> Серьезный coming out.

Тут скоре всего шизофрения.


"Начало тестирования PHP 5.6.0"
Отправлено Sylvia , 24-Янв-14 12:55 
зависит от версии, "определённым образом оформленный get запрос, то происходит эксплуатация уязвимости" известных нет. А вот "определенным образом оформленный документ/сертификат/картинку итп" - да, фиксят,регулярно, нефик сидеть на старой версии


"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 13:00 
Зачем было правду про Node VS PHP удалять?

"Начало тестирования PHP 5.6.0"
Отправлено SSSSSSS , 24-Янв-14 15:01 
А что там было?

"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 16:19 
Там было про то, что скоро node (и нод-апи) и серверный JS доведут до ума, и про то, что PHP станет просто не нужен в таком случае.
Потому что скорость работы одна и таже, но на JS проще писать.

"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 17:38 
> Там было про то, что скоро node (и нод-апи) и серверный JS
> доведут до ума, и про то, что PHP станет просто не нужен в таком случае.

"Не говори "гоп!" пока не перепрыгнешь!"


"Начало тестирования PHP 5.6.0"
Отправлено Vov , 24-Янв-14 18:27 
> Там было про то, что скоро node (и нод-апи) и серверный JS
> доведут до ума, и про то, что PHP станет просто не
> нужен в таком случае.
> Потому что скорость работы одна и таже, но на JS проще писать.

Чем именно проще? тем что субъективно вам больше нравится?



"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 18:42 
> Чем именно проще? тем что субъективно вам больше нравится?

Ну оно так всегда и определялось, вообще-то.


"Начало тестирования PHP 5.6.0"
Отправлено Vov , 24-Янв-14 19:01 
>> Чем именно проще? тем что субъективно вам больше нравится?
> Ну оно так всегда и определялось, вообще-то.

Ну вообще говоря нет. Если я мельком наслышан или "пришлось, но не осилил" какой-нибудь ruby или что-то типа, то заявлять, что ruby сложный, не буду.
А если работал много с обоими языками, то вполне ожидаемо обосную свою позицию
как то например
- более простую настройку окружения (как для разработки так и для работы)
- большой выбор литературы и другого образовательно-познавательного материала.
- наличие готовых библиотек
- наличие сообщества
- наличие каких-то уникальных конструкций языка, позволяющих решать задачи быстрее/надежнее/меньше в конкретной проблемной области.

Что из этого ЗАМЕТНО проседает в php по сравнению со средней температурой по больнице?


"Начало тестирования PHP 5.6.0"
Отправлено бедный буратино , 24-Янв-14 20:55 
>>> Чем именно проще? тем что субъективно вам больше нравится?
>> Ну оно так всегда и определялось, вообще-то.
> Ну вообще говоря нет. Если я мельком наслышан или "пришлось, но не
> осилил" какой-нибудь ruby или что-то типа, то заявлять, что ruby сложный,
> не буду.
> А если работал много с обоими языками, то вполне ожидаемо обосную свою
> позицию
> как то например
> - более простую настройку окружения (как для разработки так и для работы)

Опять хрень какая-то. Команды апт-гета для окружения изучаются один раз, а потом используются всю жизнь. Выбирать на основе этого...

> - большой выбор литературы и другого образовательно-познавательного материала.

да, хелп более вменяемый. почти все библиотеки документированы сфинксом - это удобно и ридзедокно! :)

> - наличие готовых библиотек

Ну, когда в php будет хотя бы 20% библиотек python, тогда и приходите. :)

> - наличие сообщества

не знаю, это в php, наверное, нужно куда-то бегать...

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

Именно. только если понимать парадигму. и ущербность питоновского "что вижу, то и пою", которая ПОТРЕБУЕТ обходных костылей для того, для сего. Или каких-нибудь фреймворков, сделанных в python-стиле, но без python.

В любом случае - пыхер манкейкодит и манкейкодит, а на языках более высокого уровня сначала подумал, потом придумал, а в итоге оно может и меньше ста строчек занять, понятного и читаемого кода, где манкипыхер на манкикодил уже 1000, которые. скажем так, не такие поддерживаемые... :)


> Что из этого ЗАМЕТНО проседает в php по сравнению со средней температурой по больнице?

Как можно это цифрами измерить? Просто берёшь, пишешь на двух трёх языках несколько проектов разной степени сложности, и смотришь, где язык решает твои проблемы, а где ты - его. Объяснить словами вкус пряников - невозможно.


"Начало тестирования PHP 5.6.0"
Отправлено бедный буратино , 24-Янв-14 18:40 
Вообще-то, python, ruby и ещё десяток языков уже давно готовы. Node будет, в лучшем случае, 11-м.

На php надо тем, кто пишет на php. Тем, кто пишет для веба, а не для php - уже давно перешли :) Кто нет, тем и nodejs небольшой помощник - и в 2334 году будут те, кто будет писать под php 5.2, и думать, не мигрировать ли на php 5.3


"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 18:44 
> Вообще-то, python, ruby и ещё десяток языков уже давно готовы.

И у каждого есть свои недостатки, сопоставимые с недостатками php.


"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 25-Янв-14 01:03 
настолько сопастовимых с пыхом недостатков нет нигде.

"Начало тестирования PHP 5.6.0"
Отправлено Vov , 24-Янв-14 18:50 
Можете продолжать считать себя элитой и рок-звездами программирования.
Ведь это так круто не быть мейнстримом.


"Начало тестирования PHP 5.6.0"
Отправлено бедный буратино , 24-Янв-14 20:48 
Причём здесь мейнстрейм и не мейнстрейм вообще? Чушь какая-то, рок-звёзды за рок-окном.

У php есть вполне конкретные и вполне дикие проблемы, которые создают проблемы и разработчику. Если в слепом неведении этим пользоваться ещё можно, то посмотрев на нормальные средства, к php не захочется ни под каким соусом, за редким исключением. :)

И это уже не исправишь никакими версиями :)


"Начало тестирования PHP 5.6.0"
Отправлено vitalif , 24-Янв-14 19:10 
Там колбэк на колбэке, ужос же

"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 14:59 
Определять прогресс загрузки файла на стороне сервера уже можно? Или опять костыли нужно городить?

"Начало тестирования PHP 5.6.0"
Отправлено sam002d , 24-Янв-14 18:33 
Goto читать гугл. С 5.4 можно, но лучше костыли на bash делать, чтобы процессами можно было рулить нормально.

"Начало тестирования PHP 5.6.0"
Отправлено AlexAT , 04-Апр-14 10:05 
Сама модель работы любого HTTP-сервера слегка усложняет данный процесс :)

"Начало тестирования PHP 5.6.0"
Отправлено Аноним , 24-Янв-14 17:37 
"Функции с переменным числом аргументов..." - довольно долго до PHP доходят возможности доступные в других языках  (*args в python)

"Начало тестирования PHP 5.6.0"
Отправлено Vov , 24-Янв-14 18:24 
Они так-то были и есть. Будет просто более удобный синтаксис.

"Начало тестирования PHP 5.6.0"
Отправлено cmp , 24-Янв-14 18:33 
фиг его знает, я вот последовательность более 5 аргументов уже не помню, либо смотреть каждый раз, либо сразу в массив пихать.

сто лет в обед в пхп есть get_func_args()


"Начало тестирования PHP 5.6.0"
Отправлено angra , 24-Янв-14 22:20 
Перепутали с func_get_args? Ничего страшного, бал рэндома в наименовании функций это родовая особенность пыха.

"Начало тестирования PHP 5.6.0"
Отправлено бедный буратино , 24-Янв-14 18:42 
> "Функции с переменным числом аргументов..." - довольно долго до PHP доходят возможности
> доступные в других языках  (*args в python)

интересно, **kwargs когда появится? :)


"Начало тестирования PHP 5.6.0"
Отправлено angra , 24-Янв-14 22:16 
php, python ... все они костные по сравнению с Perl, только там настоящая гибкость и свобода :)