The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Начало тестирования PHP 5.6.0

24.01.2014 10:47

Представлен первый альфа-выпуск новой значительной ветки языка программирования PHP 5.6.0.

Наиболее заметные улучшения:

  • Константные скалярные выражения (constant scalar expressions), допускающие применение операций над числовыми или строковыми литералами и константами в контексте, предусмотренном для статических значений, таком как определение констант или значений по умолчанию аргументов функций. Например, "const ONE = 1; const TWO = ONE + 2;"
  • Функции с переменным числом аргументов (Variadic function), при определении которых явно не указывается число передаваемых аргументов. Например, функцию "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 обеспечена возможность перегрузки оператора и приведения скалярных типов;
  • Поддержка загрузки файлов размером больше 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;
  • Новый интерактивный отладчик phpdbg, выполненный в форме модуля SAPI.


  1. Главная ссылка к новости (http://php.net/index.php#id201...)
  2. OpenNews: Проект Joomla представил собственный фреймворк для разработки приложений на языке PHP
  3. OpenNews: В развитие PHP-фреймворка Symfony инвестировано 5 млн евро
  4. OpenNews: Подтверждён факт взлома инфраструктуры проекта PHP
  5. OpenNews: Релиз PHP 5.5.0
Лицензия: CC-BY
Тип: Программы
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (27) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, G.NercY.uR (?), 11:45, 24/01/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Я им пользуюсь. И желаю ему развития и улучшения :)
    Кстати уважаемые, скажите а в PHP много дырок которые могут эксплуатироваться вне зависимости от кривости написанного php кода?
    Ну типа таких что например вне зависимости от php файла, если ему передаёшь определённым образом оформленный get запрос, то происходит эксплуатация уязвимости.
     
     
  • 2.2, Аноним (-), 11:47, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Серьезный coming out.
     
     
  • 3.5, Pahanivo (ok), 12:42, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Серьезный coming out.

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

     
  • 2.7, Sylvia (ok), 12:55, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –5 +/
    зависит от версии, "определённым образом оформленный get запрос, то происходит эксплуатация уязвимости" известных нет. А вот "определенным образом оформленный документ/сертификат/картинку итп" - да, фиксят,регулярно, нефик сидеть на старой версии

     

  • 1.9, Аноним (-), 13:00, 24/01/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Зачем было правду про Node VS PHP удалять?
     
     
  • 2.15, SSSSSSS (?), 15:01, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что там было?
     
     
  • 3.18, Аноним (-), 16:19, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там было про то, что скоро node (и нод-апи) и серверный JS доведут до ума, и про то, что PHP станет просто не нужен в таком случае.
    Потому что скорость работы одна и таже, но на JS проще писать.
     
     
  • 4.25, Аноним (-), 17:38, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Там было про то, что скоро node (и нод-апи) и серверный JS
    > доведут до ума, и про то, что PHP станет просто не нужен в таком случае.

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

     
  • 4.27, Vov (?), 18:27, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Там было про то, что скоро node (и нод-апи) и серверный JS
    > доведут до ума, и про то, что PHP станет просто не
    > нужен в таком случае.
    > Потому что скорость работы одна и таже, но на JS проще писать.

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


     
     
  • 5.35, Аноним (-), 18:42, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем именно проще? тем что субъективно вам больше нравится?

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

     
     
  • 6.39, Vov (?), 19:01, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Чем именно проще? тем что субъективно вам больше нравится?
    > Ну оно так всегда и определялось, вообще-то.

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

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

     
     
  • 7.43, бедный буратино (ok), 20:55, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>> Чем именно проще? тем что субъективно вам больше нравится?
    >> Ну оно так всегда и определялось, вообще-то.
    > Ну вообще говоря нет. Если я мельком наслышан или "пришлось, но не
    > осилил" какой-нибудь ruby или что-то типа, то заявлять, что ruby сложный,
    > не буду.
    > А если работал много с обоими языками, то вполне ожидаемо обосную свою
    > позицию
    > как то например
    > - более простую настройку окружения (как для разработки так и для работы)

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

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

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

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

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

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

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

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

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

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


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

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

     
  • 4.32, бедный буратино (ok), 18:40, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вообще-то, python, ruby и ещё десяток языков уже давно готовы. Node будет, в лучшем случае, 11-м.

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

     
     
  • 5.36, Аноним (-), 18:44, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вообще-то, python, ruby и ещё десяток языков уже давно готовы.

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

     
     
  • 6.50, Аноним (-), 01:03, 25/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    настолько сопастовимых с пыхом недостатков нет нигде.
     
  • 5.38, Vov (?), 18:50, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можете продолжать считать себя элитой и рок-звездами программирования.
    Ведь это так круто не быть мейнстримом.

     
     
  • 6.42, бедный буратино (ok), 20:48, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Причём здесь мейнстрейм и не мейнстрейм вообще? Чушь какая-то, рок-звёзды за рок-окном.

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

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

     
  • 4.40, vitalif (ok), 19:10, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там колбэк на колбэке, ужос же
     

  • 1.14, Аноним (-), 14:59, 24/01/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Определять прогресс загрузки файла на стороне сервера уже можно? Или опять костыли нужно городить?
     
     
  • 2.29, sam002d (?), 18:33, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Goto читать гугл. С 5.4 можно, но лучше костыли на bash делать, чтобы процессами можно было рулить нормально.
     
  • 2.51, AlexAT (ok), 10:05, 04/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Сама модель работы любого HTTP-сервера слегка усложняет данный процесс :)
     

  • 1.23, Аноним (-), 17:37, 24/01/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "Функции с переменным числом аргументов..." - довольно долго до PHP доходят возможности доступные в других языках  (*args в python)
     
     
  • 2.26, Vov (?), 18:24, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они так-то были и есть. Будет просто более удобный синтаксис.
     
  • 2.28, cmp (ok), 18:33, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    фиг его знает, я вот последовательность более 5 аргументов уже не помню, либо смотреть каждый раз, либо сразу в массив пихать.

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

     
     
  • 3.48, angra (ok), 22:20, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Перепутали с func_get_args? Ничего страшного, бал рэндома в наименовании функций это родовая особенность пыха.
     
  • 2.34, бедный буратино (ok), 18:42, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > "Функции с переменным числом аргументов..." - довольно долго до PHP доходят возможности
    > доступные в других языках  (*args в python)

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

     
  • 2.46, angra (ok), 22:16, 24/01/2014 [^] [^^] [^^^] [ответить]  
  • +/
    php, python ... все они костные по сравнению с Perl, только там настоящая гибкость и свобода :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру