Статьи

Изучите PHP 7, узнайте, что нового и многое другое

PHP 7, следующая версия самого популярного в мире языка программирования, была выпущена. Мы хотели бы снимать фейерверки и напиваться с нашей вновь обретенной мощью (серьезно, язык теперь в настоящей высшей лиге, функциональности и производительности ), но мы уверены, что остальная часть интернета сделает это за нас. Вместо этого мы сконцентрируемся на составлении (постоянно обновляемого) списка ресурсов, чтобы начать работу с версией 7 — публикациях, описывающих новые возможности, книгах, которые помогут вам начать работу, и многом другом. Давайте доберемся до этого!

Что случилось с PHP 6?

Когда нам говорят, что следующая основная версия — 7, когда мы до сих пор работали на 5+, многие задаются вопросом, что же случилось с версией 6. Это длинная история, поэтому, чтобы не запутаться, когда речь идет об этом, вот некоторые интересные обсуждения и сообщения по мере необходимости:

Короче говоря, проблемы с юникодом, которые должны были быть решены в версии 6, в конечном итоге потерпели неудачу, со слишком большим количеством дополнительных сложностей, и такого рода разрушенные вещи для всех. Было решено, что представитель версии 6 слишком поврежден, чтобы поддерживать его, и был сделан переход на PHP 7.

Новые особенности

Ранее мы кратко говорили о новых функциях, но вот более полный список ссылок на информацию о них — сейчас самое время погрузиться и подготовиться.

Чтобы узнать о том, что произойдет, и какое влияние это может оказать на вас:

Если вы любите видео уроки и не возражаете платить за них, два сайта освещают одно и то же:

Чтобы узнать о системе типов, возможно, самое большое изменение, и как это можно сравнить с взломом:

Начало работы с PHP 7

  • Если вы не относитесь к категории виртуальных машин, для установки PHP 7 на самую последнюю версию OS X см. Http://php-osx.liip.ch/
  • Однако если у вас есть PHP Start Environment — книга по-настоящему вашей, отредактированная и рецензированная почтенным Россом Таком . Это небольшая книга о том, как начать работу с кодом — узнать о запросах, ответах, виртуальных машинах и всех других важных настройках сервера и локальной машины разработки. Книга помогает подготовить вас к написанию кода, не зависящего от платформы, и дает возможность другим просто войти в вашу команду с прихотью.
  • Платный вводный курс от Zend — хорошо для людей, знакомых с PHP 5, которые не против выплачивать деньги
  • Официальное руководство по миграции с 5.x
  • Отличный пост Эрики на DigitalOcean

Доступны различные средства проверки и преобразования совместимости:

  • PHP7MAR (Migration Assistant Report) сообщит о любых несоответствиях между вашей текущей кодовой базой и PHP 7, так что вы сможете планировать и планировать свой путь обновления
  • php7ize — это исправитель кода, который пытается автоматически добавлять функции PHP 7 в базу кода PHP 5.
  • php7cc (Compatibility Checker) попытается сделать то же самое, что и MAR выше — сравнить свои результаты для получения наиболее надежных результатов.

Следует отметить, что ни один из вышеперечисленных инструментов не является заменой хорошего набора тестов — единственный способ быть на 100% уверенным в том, что никаких ошибок не осталось, — покрыть ваш код тестами, чтобы его можно было легко проверить и проверить во время миграции.

И последнее, но не менее важное: PHPToday собрал совершенно фантастический список выступлений, который вы можете посмотреть здесь .

Инструменты, тестирование и хостинг

Вокруг новой версии уже появилось много полезных инструментов:

  • PhpStorm , как и прежде, уже поставляется с полным режимом PHP 7.

  • Phan — это статический анализатор, о функциях которого вам лучше всего прочитать здесь . У нас есть полное учебное пособие для любопытных.

  • Exakat это еще один анализатор

  • Тули — еще один, но развитие несколько остановлено. Если кто-то хочет написать сравнительный пост, нацеленный на все три, дайте нам знать!

  • Андреа Фолдс выпустила несколько интересных эксклюзивных пакетов PHP 7, на которые стоит взглянуть!

  • Ящик Vagrant от Rasmus Lerdorf — это ящик, который можно использовать при тестировании на нескольких версиях PHP, и его можно скачать здесь . Учебник по его использованию здесь .

  • Travis CI уже некоторое время поддерживает PHP 7. Настроить проект на 7-й тест легко, просто сделайте так, чтобы ваш файл .travis.yml

     language: php
    
    php:
      - 5.6
      - 7.0
      - hhvm
    
    # This triggers builds to run on the new TravisCI infrastructure.
    # See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/
    sudo: false
    
    matrix:
      allow_failures:
        - php: 7.0
    
    before_script:
      - travis_retry composer self-update
      - travis_retry composer install --no-interaction --prefer-source
    
    script:
      - phpunit --coverage-text --coverage-clover=coverage.clover
    
    after_script:
      - if [[ $TRAVIS_PHP_VERSION != 'hhvm' && $TRAVIS_PHP_VERSION != '7.0' ]]; then php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover; fi
    

    Все вышеперечисленное было вдохновлено скелетом PhpLeague — готовым пакетом для PHP 7, поэтому, если вы начинаете новый , вот где искать базовую линию.

  • Прямо сейчас, хостинговое пространство довольно мало для PHP 7, но следите за http://phpversions.info/php-7/ — список будет обновляться по мере поступления новой информации.

Разнообразный

Что касается ресурсов по разработке расширений для PHP 7 (с API расширений все немного по-другому), http://gophp7.org/gophp7-ext/ по-прежнему остается популярным сайтом.

Чтобы присоединиться к сообществу и обсудить вопросы или обратиться за помощью, некоторые из следующих могут быть полезны, в порядке популярности:

  • На IRC будет полезна группа ## php на freenode
  • Для тех, кто предпочитает более статичную среду, субреддит PHP может быть не только местом знаний, но и минным полем. Действуй осторожно.
  • Если вы не относитесь к IRC или Reddit, но, тем не менее, любите живое обсуждение, есть PHP Slack Channel и PHP-чат StackOverflow
  • Чтобы присоединиться к группе пользователей для некоторой офлайновой тусовки, проверьте http://php.ug/

Вывод

Есть больше ресурсов, чтобы поделиться? Дайте нам знать! Платные или нет, мы рассмотрим все, что вы нам бросаете, и, возможно, включите это.

С выходом PHP 7 вы собираетесь конвертировать свои приложения / пакеты в ближайшее время? Если нет, то почему? Дайте нам знать ваши мысли и чувства ниже! И не забывайте — новая версия не была бы возможна без тяжелой работы всех основных участников. Не все они могут видеть друг друга, но когда они объединяют свои ресурсы и стремятся к общей цели, небо — предел. Вот вам, чемпионы, спасибо за сохранение веб-эпопеи!