В уже знакомом формате, вот больше новостей PHP, которые вы, возможно, пропустили за последний месяц или около того. Как обычно, дайте мне знать, если я что-то пропустил!
Drupal 8 — бета 1
Наконец-то вышла долгожданная версия 8 Drupal, хотя и в бета-формате. Теперь вы можете взять его на пробу и протестировать некоторые из его новейших функций.
Полный текст публикации см. Здесь , а чтобы узнать, как можно быстро и легко получить собственный экземпляр и запустить его, см. Наш быстрый совет .
Жрать 5 и кольцо PHP
« Если вам понравилось, тогда вам следует надеть кольцо »
— Иисус
Если серьезно, то Guzzle 5 уже вышел. Насколько это безумие? Это было не так давно, что мы все еще знакомились с ним, и здесь он уже может похвастаться версией 5 и асинхронными запросами .
Короче говоря, после получения большого количества запросов на асинхронную поддержку в Guzzle, плодовитый Майкл Даулинг создал Ring PHP , новый драйвер для запросов Guzzle:
RingPHP будет новой системой обработки в Guzzle 5 (дата выпуска TBD). RingPHP дает Guzzle возможность отправлять асинхронные запросы, значительно снижает сложность создания новых обработчиков и дает гораздо более простые и более явные переходы состояний запросов в Guzzle.
На RingPHP сильное влияние оказывают Clojure, Clojure Ring и HTTP Kit Clojure, и поэтому он использует различные концепции функционального программирования и использует ассоциативные массивы PHP в качестве основной структуры данных. Использование функциональной композиции и простых ассоциативных массивов позволяет RingPHP быть легко понятным, быстрым и простым для добавления поведения во время выполнения через промежуточное ПО.
Остальное вы можете прочитать здесь, если вам интересно, но в двух словах, Guzzle теперь может выполнять асинхронные запросы, практически не нарушая совместимость с версией 4. Пользователи старого API не должны заметить никакой разницы, за исключением огромной производительности увеличивается из-за неблокирующих перенаправлений и всей остальной магии, о которой говорится в посте, о котором я говорил выше.
Обновления PHP
В общем, мир PHP набирает обороты. Среди наиболее интересных:
Исет Тернары
Теперь у нас есть «троичный isset» (см. Здесь ), который избавляет нас от кода, подобного этому:
$a = isset($_GET['mykey']) ? $_GET['mykey'] : ""
… и давайте напишем то же самое, как это:
$a = $_GET['mykey'] ?? ""
Альтернативное удаление тегов
Альтернативные теги, такие как "ASP tags (<%) and script tags (<script language=php>) as a means of entering or leaving PHP mode
Смотрите RFC здесь .
Что удивило меня в этом голосовании, так это то, что больше, чем 0 человек проголосовали «нет». Я не могу представить, почему кто-то проголосовал бы против, кроме как по той причине, о которой я говорил выше.
PSR 6 и 7
Примечание. Раздел отредактирован в соответствии с пояснениями Мэтью ниже.
Два PSR, с которыми мало кто знаком, находятся в процессе переопределения и редактирования PHP-FIG, каждый из которых очень важен для дальнейшей стандартизации популярных пакетов и библиотек.
PSR 6 фокусируется на кэшировании и определении общего интерфейса для него. Начало мета-документа говорит само за себя:
Кэширование является распространенным способом повышения производительности любого проекта, делая кеширование библиотек одной из наиболее распространенных функций многих фреймворков и библиотек. Это привело к ситуации, когда многие библиотеки запускают свои собственные библиотеки кэширования с различными уровнями функциональности. Эти различия заставляют разработчиков изучать несколько систем, которые могут предоставлять или не предоставлять необходимую им функциональность. Кроме того, разработчики кеширующих библиотек сами сталкиваются с выбором между поддержкой только ограниченного числа платформ или созданием большого количества классов адаптеров.
PSR 7 будет реализовывать общий интерфейс HTTP-сообщений. Группа «[…] добавляет IncomingRequestInterface, который расширяет RequestInterface, для описания доступа к общим источникам входящих данных (например, аргументы строки запроса, куки, метаданные файла загрузки и т. Д.). Цель состоит в том, чтобы сделать пару IncomingRequest / Response вездесущим, и цель для сред MVC и промежуточного программного обеспечения (вместо пользовательских реализаций, реализации для проекта или для платформы); это будет способствовать написанию кода, который может быть разделен между различными структурами. Узнайте больше здесь .
Энтони Ферраре было что-то интересное сказать о них обоих, а именно, почему он не согласен с их нынешним состоянием. Вы можете прочитать его мысли здесь .
Вам может быть интересно, что случилось с PSR 5. PSR 5 — это стандарт PhpDoc, предложенный командой PhpDocumentor, хотя из-за хаотичной природы группы Google, которую использует PHP-FIG, и в целом фрагментарного подхода к обсуждению PSR, я не был в состоянии определить его текущее состояние или когда он будет реализован, если вообще будет. Если вы хотите изучить стандартизацию докблоков, посмотрите здесь .
Расписание PHP 7
Наконец, команда внутренних разработчиков определилась с расплывчатым графиком выпуска PHP 7 — он запланирован на ноябрь 2015 года. Посмотрим, смогут ли они уложиться в этот срок!
Расписание PHP 7: https://wiki.php.net/rfc/php7timeline
HHVM в усадьбе Ларавел
Усадьба Ларавела была немного улучшена. Сам блок был улучшен, чтобы содержать HHVM, предустановленную в версии 3.3.0 (долгосрочная поддержка), и активировать удаленную отладку Xdebug по умолчанию. Файлы репозитория Homestead также были обновлены для возможности активации HHVM.
Естественно, это также означает, что я синхронизировал Homestead Improved с его исходной версией, поглощая все оригинальные изменения Homestead, но сохраняя вещи настолько простыми и эффективными, насколько вы привыкли к ним.
Чтобы активировать HHVM в Homestead или Homestead Improved, см. Оригинальную официальную документацию .
Symfony2 — DX ++
За последние несколько месяцев Symfony2 изгибался назад, чтобы стать более доступным для разработчиков. Это обновление опыта разработчика не только сделало работу с фреймворком гораздо более приятной, но и обратило внимание нескольких скептиков на веру в полезность и эффективность фреймворка.
Например, более умная команда assets: install теперь будет обеспечивать точное копирование файлов, а не символьных ссылок в системах, которые не поддерживают символические ссылки — все по умолчанию. Больше никаких проблем с установкой символической ссылки, подобных тем, которые встречаются здесь . В контроллеры добавлены новые ярлыки , панель отладки сможет отлаживать Ajax-запросы и многое, многое другое.
Вы можете найти все новые обновления релиза здесь , подробно описанные с примерами кода.
И последнее, но не менее важное: есть официальная (и бесплатная) книга о лучших практиках Symfony2 — захватите ее здесь !
Composer — виртуальные пакеты и правильные требования
В сети появилось три очень интересных сообщения о композиторе. Первый рассказывал нам о виртуальных пакетах и ключевом слове provides
Второй ответ на первый пост и несколько исправляет его, объясняя вопросы немного глубже.
Наконец, третий пост — отличное руководство по правильному требованию ваших пакетов.
AuraPHP 2 — Стабильно!
Веб-пакеты Aura Di и Aura стали стабильными, что позволило сопровождающим обновить все остальные пакеты Aura до версии 2.0 стабильной, тем самым подтолкнув весь проект к версии 2.0. Эта большая веха означает, что не только компоненты имеют новую основную версию, но и автоматически все фреймворки, использующие их (Aura стремится сначала к компонентам, а затем к фреймворкам).
Полный отчет об этом прогрессе можно найти в посте Пола Джонса здесь, а краткий обзор Aura 2 — в учебнике Хари .
Themosis 1.0
Themosis, платформа для WordPress, о которой мы уже писали , достигла версии 1.0. Для более глубокого взгляда, следите за обновлениями — учебники скоро.
Проект Themosis также преобразовал себя в агентство, специализирующееся на разработке WP, и зарезервировал поддомен framework.themosis.com как дом для фреймворка. Прочитайте об изменениях на их домашней странице и дайте нам знать, если вы использовали Themosis для чего-либо — мы будем рады опубликовать вашу работу.
Yii 2
Говоря о новых выпусках — Yii 2 наконец-то вышел и вышел из бета-версии. Мы обсудили преимущества новой версии в предыдущем посте и недавно вернулись к этой теме, перечислив 7 причин выбора Yii 2 для вашего следующего проекта . Если вы создали что-то с Yii и хотели бы продемонстрировать это, или просто заинтересованы в обучении и распространении информации, свяжитесь с нами!
Phalcon 2 beta 3
Платформа Phalcon достигла статуса бета 3 . Говорят, что это может быть последняя бета-версия перед общедоступной, так как все тесты в настоящее время проходят в полном объеме и достигнут паритет API. Если вы еще не попробовали Phalcon 2, убедитесь, что вы приняли его за спин. Для действительно быстрой установки, посмотрите наш быстрый совет по его запуску и запуску в кратчайшие сроки.
Вывод
Без сомнения, продуктивный месяц в мире PHP! Я что-то пропустил? Дайте мне знать в комментариях ниже, и давайте обсудим это там! Если у вас есть какие-либо советы для следующего поста новостей (примерно через месяц, дайте или возьмите), просто отправьте мне электронное письмо, и я решу, достаточно ли он недостаточно освещен, чтобы быть включенным в список новостей, которые могут иметь люди. пропущенный. Спасибо за прочтение!