The OpenNET Project / Index page

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

Релиз языка программирования PHP 7.1

02.12.2016 09:00

Официально представлен релиз языка программирования PHP 7.1. Новая ветка отличающейся значительной порцией новых возможностей и наличием изменений, нарушающих совместимость.

Ключевые улучшения в PHP 7.1:

  • Возможность использования типов, которые могут принимать значение null. Для пометки, что параметры функций и возвращаемые значения могут принимать значение null, применяется префикс в виде знака вопроса, например, определив функцию "function f(?callable $p) {}" её можно вызвать с аргументом null - "f(null)";
  • Добавлен тип возвращаемого значения void, указывающий на то, что функция не возвращает значения. В подобных функциях допускается использование только пустого return, любые другие значения в return недопустимы (в том числе нельзя указывать "return null"). Значения, возвращаемые функцией с типом void, при попытке их использования в коде будут интерпретироваться как null, без вывода предупреждения;
  • Добавлен псевдо-тип iterable, позволяющий определять параметры функций, которые могут принимать значения различных перечисляемых типов, допустимых для перебора в цикле, таких как массивы и объекты Traversable;
  • При указании смещения внутри строки теперь можно указывать отрицательные значения, позиция в строке для которых будет рассчитана относительно конца строки. Например, для строки 'abcdef' $str[-2] вернёт "e";
  • Добавлен вариант конструкции list(), в которой могут задаваться ключи. Например: "list(1 => $oneBit, 2 => $twoBit, 3 => $threeBit) = $powersOfTwo";
  • Добавлено выражение "[] =", которое выступает альтернативой конструкции "list() =". Например, вместо "list($a, $b, $c) = array(1, 2, 3)" теперь можно указать "[$a, $b, $c] = [1, 2, 3]";
  • Реализована система вывода ошибок и предупреждений в случае использования в математических выражениях строк, не преобразуемых в число. Например, "10 apples" + "5 pears" приведёт к выводу ошибки "Notice: A non well formed numeric string encountered in example.php on line 3", а 5 * "orange" к "Warning: A non-numeric string encountered in example.php on line 3";
  • Возможность обработки нескольких типов исключений в одном выражении catch. В качестве разделителя используется знак "|". Например, "} catch (FirstException | SecondException $e) {";
  • Поддержка определения видимости для констант внутри класса. Константы теперь могут определяться с флагами public, private и protected;
  • Поддержка асинхронной обработки сигналов в ext/pcntl и поддержка дополнительного контекста в обработчике pcntl_signal;
  • В класс Closure добавлен новый статический метод Closure::fromCallable(), позволяющий преобразовать элементы с типом callable в объекты Closure;
  • В расширении ext/openssl добавлена поддержка режимов AEAD для блочных шифров, при которых шифруется лишь часть данных, но всё сообщение аутентифицировано;
  • В расширении ext/curl для HTTP/2 добавлена поддержка серверных операций PUSH;
  • Из изменений, нарушающих совместимость можно отметить запрет на вызов пользовательских функций с меньшим числом аргументов, запрет динамического вызова некоторых видов функций ($func = 'func_num_args';$func();), функция rand() теперь перенаправляется на mt_rand(), а srand() на mt_srand(), изменена семантика параметров в функциях mb_ereg() и mb_eregi(), прекращена поддержка директив session.entropy_file, session.entropy_length, session.hash_function и session.hash_bits_per_character. Генератор псевдослучайных чисел mt_rand() переведён на исходный алгоритм Вихрь Мерсенна (ранее в его реализации была допущена ошибка, не оказывавшая на его свойства существенного влияния).


  1. Главная ссылка к новости (http://php.net/index.php#id201...)
  2. OpenNews: Релиз языка программирования PHP 7.0
  3. OpenNews: Увидел свет релиз интерпретатора языка программирования PHP 5.3
  4. OpenNews: Релиз PHP 5.4.0. Обзор новшеств
  5. OpenNews: Релиз PHP 5.5.0
  6. OpenNews: Релиз языка программирования PHP 5.6.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45604-php
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (94) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Leap42 (?), 09:18, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    я один считаю, что ломать совместимость с минорной версии как-то неприлично, и стоило запилить новую ветку?
     
     
  • 2.13, ц (?), 10:58, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Им бы новый язык стоило запилить, столько от 5-ки отличий в 7-ке.
     
  • 2.16, KonstantinB (ok), 11:13, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    С тех пор, как вместо полумертвого php6 вышел php 5.4 (который по сути шестерка без сдохшей попытки внедрения юникода, и обратно несовместимых изменений там были тонны), инкремент второй циферки можно считать мажорной версией, а первая увеличивается только по особо крупным поводам. В postgresql примерно так же, кстати.
     
     
  • 3.23, Аноним (23), 12:05, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    То есть, если у кого то номер версии сущий рендом - это правильно, и давайте продолжать этот мусорник, потому что вон у тех такой же мусорник, и ок.
     
     
  • 4.54, KonstantinB (ok), 18:14, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    не рандом, просто не соответсвует semver. своя логика есть.
     
  • 3.96, Онаним (?), 06:12, 05/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > который по сути шестерка без сдохшей попытки внедрения юникода

    А вот в чём проблема с внедрением Юникода? При том, что вроде как его уже много лет назад внедрили в виде отдельного модуля (который стоит практически у всех) и при том, что используют Unicode уже давно практически вообще все?

     
  • 2.26, Аноним (-), 12:37, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Согласен. Более того PHP 7 - это уже совсем другой язык, не php. Они поменяли основополагающие принципы. Это всё равно что Python превратить в с++ и назвать его Python 4.0. Это абсолютно неправильно и им следовало дать этому языку другое название и развивать отдельно.
     
     
  • 3.37, Аноним (-), 15:52, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Он стал многопоточным и строго типизированным?
     
     
  • 4.59, Аноним (-), 19:40, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Вы наверно не в курсе, но да. И обратная совместимость потеряна у многих функций и операторов. По сути необходима полная переписка всего кода на этот новый язык. От родного php там мало чего рабочего осталось. Из Людмилы Гурченко 1973 года стало то, что сегодня (гуглить: "Людмила Гурченко в 1973 году и 2009 году")
     
     
  • 5.66, Gemorroj (ok), 21:08, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    такое ощущение что подобную чушь о каких-то несовместимостях пишут имбициллы которые о pecl не слышали и до сих пор пользуются mysql_*, либо вообще люди к php отношения не имеющие.
     
  • 3.76, angra (ok), 23:00, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно огласить весь список основополагающих принципов и указать какие именно и как поменяли? А то я кроме добавления необязательной(то есть старый код продолжит работать) строгой типизации ничего основополагающего не помню. Да и режим strict для типов умудрились сделать чисто по пыховски - включается только целиком на файл. Считаю главный основополагающий принцип пыха - делать всё через жопу - не изменили.

     
  • 2.31, Аноним (-), 12:52, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    учатся у гномосеков
     
  • 2.39, Аноним (-), 15:54, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > я один считаю, что ломать совместимость с минорной версии как-то неприлично, и
    > стоило запилить новую ветку?

    Пока в Debian stable не попало не так принципиально :)

     
     
  • 3.44, freehck (ok), 16:23, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А дебианщики, не будь дураки, как обычно сделают несколько пакетов: php5, php6 и php7. :)
     
     
  • 4.67, Я (??), 21:32, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно php6
     
  • 4.77, angra (ok), 23:03, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Уже :)
    Более того, ничто не мешает делать пакеты php71 или вообще php7чегонибудьеще, так было с php5 в сторонних репах.
     
  • 2.50, Rodegast (ok), 17:02, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вон что люди творят! А зато python до сих пор ругают из-за не совместимости второй и третьей версии.
     
     
  • 3.60, Аноним (-), 19:43, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    python не менял курс на 90 градусов...
     
     
  • 4.88, DmA (??), 13:46, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > python не менял курс на 90 градусов...

    Python изначально был почти правильно спроектирован!
    php эклектичен с самого начала

     
  • 3.75, zzz (??), 23:00, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    мой код одинаково работает на 5.4 и 7.1, что я делаю не так?
     
     
  • 4.80, xxx1 (?), 23:42, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    У меня тоже  хелоу ворлд работает ставильно на всех версиях
     
  • 2.58, mimocrocodile (?), 19:16, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вангану что это не минорный релиз
     

  • 1.2, DmA (??), 09:22, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А на хабре вчера релиз ждали, даже статью про блеск и нищету PHP выпустили про развитие PHP вплоть до версии 7.1
    https://habrahabr.ru/post/316506/
     
     
  • 2.3, Аноним (-), 09:40, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по дате релиза, релиз таки был вчера
     
     
  • 3.6, Аноним (-), 09:47, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Судя по дате релиза, релиз таки был вчера

    Когда у нас сегодня, в америке ещё вчера. Объявление релиза было сегодня в два ночи по MSK.

     
     
  • 4.17, Смотрящий (?), 11:18, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Судя по дате релиза, релиз таки был вчера
    > Когда у нас сегодня, в америке ещё вчера. Объявление релиза было сегодня
    > в два ночи по MSK.

    Объясняю на пальцах): Я знаю, что релиз kernel 4.9 будет 12 декабря, но статью могу написать об основных изменениях и нововведениях уже сегодня, ибо гоняю тест ветку уже с RC3.
    PS писать не буду - чукча читатель)

     
     
  • 5.18, Смотрящий (?), 11:23, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> Судя по дате релиза, релиз таки был вчера
    >> Когда у нас сегодня, в америке ещё вчера. Объявление релиза было сегодня
    >> в два ночи по MSK.
    > Объясняю на пальцах): Я знаю, что релиз kernel 4.9 будет 12 декабря,
    > но статью могу написать об основных изменениях и нововведениях уже сегодня,
    > ибо гоняю тест ветку уже с RC3.
    > PS писать не буду - чукча читатель)

    Чукча ошибся) - 11-го)

     
  • 2.9, Аноним (-), 10:02, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как-то сильно поверхностно там описано.
    Более подробная ретроспектива:
    PHP 7.0 https://www.opennet.dev/opennews/art.shtml?num=43449
    PHP 5.6 https://www.opennet.dev/opennews/art.shtml?num=40480
    PHP 5.5 https://www.opennet.dev/opennews/art.shtml?num=37239
    PHP 5.4 https://www.opennet.dev/opennews/art.shtml?num=33241
    PHP 5.3 https://www.opennet.dev/opennews/art.shtml?num=22392
    PHP 5.2 https://www.opennet.dev/opennews/art.shtml?num=8678
    PHP 5.1 https://www.opennet.dev/opennews/art.shtml?num=6495
    PHP 5.0 https://www.opennet.dev/opennews/art.shtml?num=4113

     

  • 1.4, Аноним (-), 09:43, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    rip HHVM
     
  • 1.5, Аноним (-), 09:43, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Накатил из ppa:ondrej/php, будем потыкать.
     
     
  • 2.8, Аноны (?), 10:00, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    там RC6 еще
     

  • 1.11, Anoname (?), 10:23, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "При указании смещения внутри строки теперь можно указывать отрицательные значения, позиция в строке для которых будет рассчитана относительно конца строки. Например, для строки 'abcdef' $str[-2] вернёт "e"
    Наконец-то! В Питоне это давно реализовано.
     
     
  • 2.14, Gemorroj (ok), 11:04, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На самом деле, без мультибайтовости не сильно нужно.
     
     
  • 3.48, Аноним (-), 16:52, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > На самом деле, без мультибайтовости не сильно нужно.

    Угощайтесь своим уникодом. В UTF операцию "N символов с конца строки" нормально не реализовать.

     
     
  • 4.49, Аноним (-), 17:01, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> На самом деле, без мультибайтовости не сильно нужно.
    > Угощайтесь своим уникодом. В UTF операцию "N символов с конца строки" нормально
    > не реализовать.

    Я бы скорее сказал «эффективно».

     
  • 4.57, Ordu (ok), 19:01, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Что по твоему "нормально"? В О(1) операций? Не реализовать в О(1), и что с того?

    Зачем гоняться за производительностью операции, которая никак не влияет на общую производительность какой-либо программы?

     
     
  • 5.63, Аноним (-), 20:04, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что по твоему "нормально"? В О(1) операций?

    Да

    > Не реализовать в О(1), и что с того?

    Можно использовать mb_substr(), и что с того?

     
  • 2.51, Rodegast (ok), 17:06, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > В Питоне это давно реализовано.

    Ну ты и сравнил. В python-е много чего давно реализовано, в том числе и юникод.

     

  • 1.12, Аноним (-), 10:58, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    К 12 версии станет почти как Perl5
     
     
  • 2.15, hardworm (?), 11:10, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Совсем мертвым что ли?
     
     
  • 3.36, th3m3 (ok), 15:41, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    К этому всё и идёт.
     
  • 2.97, Аноним (-), 07:31, 05/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Консистентности перла как языка пхп не достигнет никогда.

    Для этого надо минимум дропнуть легаси, а на это оне пойтить не могут - тогда пхп загнётся. Глобалы сколько корчевали - но так и не удалили до конца. С mysql_* - то же самое.

     

  • 1.19, proud_anon (?), 11:50, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Разработчики к 7-й версии обнаружили что смогут и void реализовать... к 8-ке откажутся от процедурной части и сделают полностью функциональным, а в 9-ке обрубят костыли объектной парадигмы и уберут system(). Вангую дальше, потом они подумают о легковесных потоках и мир получит erlang v.0.9per-alpha но с такой тяжелой и дурной наследственностью, что поймут всю тщетность попыток и самораспустятся.
    Посему, смысла продлевать конвульсии этого монстро-образного уродца на гусеничном ходу с крыльями бабочки и аппетитом слона - "Hypertext Preprocessor" для домашних страничек, наш тайный комитет не видит и считает своим долгом сфокусироваться на Go.
     
     
  • 2.20, KonstantinB (ok), 11:53, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Держите нас в курсе.
     

  • 1.21, Аноним (-), 11:56, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На лоре писали, что мерсен твистер в релиз по ошибке закоммитили, посмеялся.
     
  • 1.22, Аноним (-), 12:01, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    пхп медленно превращается яву, отвратительно.
     
     
  • 2.24, koblin (ok), 12:17, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    он и так отвратителен, без превращений
     
     
  • 3.61, Аноним (-), 19:46, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отвратительный язык делает отвратительные повороты, вполне кондиция
     
  • 3.74, Аноним (-), 22:39, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    но мне этот уродец мил. Если бы я хотел писать на яве, то так бы сразу и поступил.
     
  • 2.25, Аноним (-), 12:27, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > пхп медленно превращается яву, отвратительно.

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

     
     
  • 3.29, Аноним (-), 12:47, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > PHP вне веба ничего не может

    $ php -e 'echo "может\n";'
    может

    Шах и мат.

     
     
  • 4.32, Аноним (-), 14:59, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Шах и мат.

    Полностью согласен - если пытаться писать что-то покрупнее привета миру на php вне веба, то только мат и остается.


     
     
  • 5.45, freehck (ok), 16:28, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Полностью согласен - если пытаться писать что-то покрупнее привета миру на php
    > вне веба, то только мат и остается.

    У нас в конторе есть дядька преклонных лет, который на нём автотесты написал. Тонны автотестов на php. Мы желаем ему долгих лет жизни. :)

     
     
  • 6.87, Gemorroj (ok), 12:32, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    хипстота на js написала бы и считала это очень крутым?
     
  • 3.86, Аноним (-), 11:53, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что за глупости. PHP - это язык, инструмент, а что на нём пишут и как - это дело самих программистов и ниши, на которую этот инструмент нацелен (в данном случае - web). Плохому танцору, как говорится, всё мешает.
    Кроме того, это интерпретируемый язык. Это значит, что есть файл с кодом, описывающим какие-то алгоритмы с синтаксисом php, и есть интерпретатор, который этот код считывает, проверяет и исполняет, и как вы этому интерпретатору будете передавать код и где будет находится этот код и интерпретатор - абсолютно неважно. Поэтому глупо говорить "вне веба ничего не может" - это вы не можете, а он - может.
     
  • 3.90, DmA (??), 13:55, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> пхп медленно превращается яву, отвратительно.
    > PHP никогда не был нормальным веб языком программирования. Почему спросите вы, да
    > потому что в него добавляют все что нужно и не нужно,
    > дабы нравится большинству так сказать. Но сколько какаху сахаром не посыпай
    > она конфетой не станет. Вообще плохая мысль сравнивать PHP и Java
    > это языки разного назначения, PHP вне веба ничего не может, да
    > и не должен так как это только Hypertext Preprocessor, а вот
    > Java может куда больше.

    восстановление Википедии из дампа в mysql запускается так:
    php importDump.php < dumpfile.xml

     
     
  • 4.98, Аноним (-), 07:33, 05/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты забыл сказать сколько дней оно будет выполнятся и сколько памяти при этом сожрёт.
     

  • 1.27, Аноним (-), 12:41, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Раньше порога вхождения по сути не было, садишься и пишешь по манам без всяких знаний. Теперь порог вхождения выше, чем у с++. И все сбегаются и кудахтают как это круто. Ну и сделали бы отдельный язык. А для несогласных оставили бы всё как есть.
     
     
  • 2.38, Аноним (-), 15:53, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пользуй старые версии PHP или тебя насильно заставляют? Консерваторы должны страдать, а продукты развиваться, пускай даже методом проб и ошибок...
     
     
  • 3.52, Anonim (??), 17:10, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Строгая типизация -это не развитие, это смена свойства языка. Т.е. язык не развился, а стал другим,. Не путайте пожалуйста. Развитие - это расширение синтаксиса и введение нового функционала. Они же все сломали.
     
     
  • 4.68, Ан (??), 21:57, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У вас что по дефолту строгая типизация врубилась?
     
  • 2.78, angra (ok), 23:05, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Теперь порог вхождения выше, чем у с++.

    Спешу расстроить, вы ничего не знаете о с++.


     

  • 1.28, Аноним (-), 12:45, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Если они уже поломали многое из версии 5.x, по сути вещи, за которые я любил этот язык, то что будет дальше? Как им доверять после этого? Это стремление из уникального языка сделать клон какого-то другого мне абсолютно не понятно.
     
     
  • 2.30, Аноним (-), 12:48, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Можно список за что любил?

    Каптча 30006 как бы намекает.

     
  • 2.69, Ан (??), 22:00, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Так что поломали вам так любимое?
    А то анончики в коментах раскричались что поломали, но что-то не признаются что тут такого кардинального поломали.
     

  • 1.33, Аноним (-), 15:10, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    http://itcraftsman.pl/php-7-1-kolejne-zmiany-i-nowosci/

     
     
  • 2.34, Andrey Mitrofanov (?), 15:28, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > http://itcraftsman.pl/php-7-1-kolejne-zmiany-i-nowosci/

    https://duckduckgo.com/?q=English%2C+Samuel+Jackson%2C+do+you+speak+

     

  • 1.35, Аноним (-), 15:30, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Что хуже?

    random_int() и random_bytes()
    mt_rand() и mt_srand()

     
     
  • 2.40, Аноним (-), 15:58, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    random_* крипостойкий генерато рандом
    mt_* повышенная случайность, но не для криптографии.
     

  • 1.41, CHIM (ok), 16:01, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Мне нравится что у него производительность гораздо выше чем у пхп 5, но то что они постоянно что то выводят и делают операторы недействительными, меня накаляет. Однажды я помню у нас так после обновления сайт не смог открыть базюку, потому что видетели теперь mysql не годится, нужно mysqli
     
     
  • 2.43, Gemorroj (ok), 16:11, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> теперь mysql не годится, нужно mysqli

    mysql давным давно не годится.
    mysqli не годится по причине корявого api. PDO наше все.

     
     
  • 3.46, Аноним (-), 16:32, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    после твоего ника и аватара - задумался про PDO.
     
     
  • 4.99, Аноним (-), 07:36, 05/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ...и учти, что в похапе это не панацея :-)

    https://stackoverflow.com/questions/134099/are-pdo-prepared-statements-suffici

     
  • 3.47, Аноним (-), 16:50, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > mysqli не годится по причине корявого api

    Не всё ли равно, если почти всегда работа с базой всё равно скрывается каким-нибудь Doctrine/Propel, имеющим свой api?

     
     
  • 4.53, Gemorroj (ok), 17:47, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Если поверх стоит прослойка в виде Doctrine/Propel, то конечно все равно. Mysqli дает больше возможностей для работы с mysql, нежели PDO. Его проблему корявого api прослойка скроет.
     
  • 2.55, KonstantinB (ok), 18:16, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Однажды я помню у нас так после обновления
    > сайт не смог открыть базюку, потому что видетели теперь mysql не
    > годится, нужно mysqli

    Обновить мажорную версию на продакшене без предварительного тестирования? Всегда так делаю!

     
  • 2.70, Ан (??), 22:03, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О подтянулись слоупоки которые не вкурсе что mysql_* уже давно deprecated был ещё в 5 версии.
     
     
  • 3.72, Дед Анон (?), 22:22, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сайт был не особо важным, а ПХП я в то время не знал от слова совсем.
     
  • 3.73, Дед Анон (?), 22:23, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > О подтянулись слоупоки которые не вкурсе что mysql_* уже давно deprecated был
    > ещё в 5 версии.

    А кто вам сказал что это было недавно? Это происходило в момент обновления 5ой версии около года назад.

     

  • 1.56, Аноним (-), 18:39, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > "function f(?callable $p) {}" её можно вызвать с аргументом null - "f(null)";

    А это они поломали? Или это просто сахар?

    > function f(callable $p = null) {}

     
  • 1.62, Аноним (-), 19:53, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Представьте если бы с++ так менялся. Каждые пол года тонны нового и нерабочего кода. Чтобы получить обновление безопасности, надо переписывать весь написанный за долгие годы код на, по сути, новый язык. Такое поведение разработчиков php говорит об их нестабильности и ненадежности. Любой написанный сегодня код завтра будет объявлен не поддерживаемым новым интерпретатором, а после завтра в старом интерпретаторе будет обнаружена дыра, которую уже не закроют. При таком раскладе заказывать разработку сайтов на данным языке опасно для бизнеса.
     
     
  • 2.64, Аноним (-), 20:10, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Современный веб весь так развивается. Полурабочие CSS4, HTML6, наполовину поддерживаемые браузерами но уже целиком используемые верстальщиками. Каждые полгода появление нового javascript-фреймворка и объявление устаревшим всех старых (только jquery каким-то чудом держится, но некоторые уже и его считают дедушкой). Вот и серверсайд подтянулся.
     
     
  • 3.79, Аноним (-), 23:11, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    некоторые уже и его считают дедушкой
    Эти некоторые просто не любят конкуренцию. Еще бы - каждая обезьяна знает jquery, а это плохо для доходов. Пока еще на brainfuck не форсят, но это пока.
     

  • 1.65, Аноним (-), 20:34, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Значения, возвращаемые функцией с типом void, при попытке их использования в коде будут интерпретироваться как null, без вывода предупреждения;

    Мне кажется или это запредельное дерьмо?

     
     
  • 2.81, pv47 (ok), 23:56, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне кажется или это запредельное дерьмо?

    Зря минусуете человека.

    Сейчас они так сделали, потом в каком-нибудь 7.4 сделают ворнинг, если эта возможность используется, потом в 7.6 объявят это deprecated, и в конце концов в 8.3 удалят поддержку.

    Весь этот дебилизм с ===, in_array(..., ..., true) и полурабочими функциями поиска (из-за того, что возвращают false, хотя логичнее было бы null) - из-за абсолютной недальновидности. Люди просто не видят на два шага вперёд и не понимают, чем обернётся их костыль в плане дальнейшей поддержки.

    Вы вот смеётесь над битриксом, а они просто физически одно время не могли выкинуть код совместимости со всякими php4 из-за таких вот устареваний, из-за того, что авторы php сначала реализовали как-нибудь, потом выяснили, что получилось криво и решили переделать, а потом снова переделали, но уже нормально.

     
     
  • 3.83, КО (?), 06:02, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> если эта возможность используется, <<

    Если у кого-то используется возможность:
    int i = fnSome();
    void fnSomoe() { };
    это не проблема языка.

    просто попытка борьбы с простыми опечатками.

    удалённые mysql_, mcrypt_ в коде php4 легко лечатся написанием собственных функций, с использованием аналогов mysqli_, openssl_ внутри.

     

  • 1.85, Аноним (-), 11:12, 03/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    совковый mbstring? лучше на питоне писать или go
     
  • 1.91, Аноним (-), 18:26, 03/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    пхп отлично развивается
    https://wiki.php.net/rfc/consistent_function_names
     
     
  • 2.92, Аноним (-), 19:06, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ага без CamelCase, дегенераты...
     
     
  • 3.93, angra (ok), 21:10, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Верблюдам не сообщили, что исследования показали процентов на 20 лучшую читаемость some_cool_func, чем someCoolFunc? Так что дегенераты отнюдь не те, кто отказался от верблюжьего стиля.
     
     
  • 4.94, KonstantinB (ok), 21:24, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Там речь не о camel case, а об исправлении неконсистентности. Сейчас, например, htmlspecialchars, но html_entity_decode. Или str_replace, но strtr. Предлагается добавить алиасы, приводящие все к одному виду.
     
     
  • 5.95, angra (ok), 11:25, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Смотри внимательно, на что был ответом мой комментарий.
     

  • 1.100, Аноним (-), 15:00, 05/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пока некоторые хейтят (и будут хейтить). Интел, как и другие, вообще не парится. Ибо software.intel.com/en-us/blogs/2015/10/27/high-performance-php-7
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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