- PVSM.RU - https://www.pvsm.ru -

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015)

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 1

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 2 Новости и релизы

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 6 PHP

  • must read Scalar Type Hints [17] — Эпопея по поводу тайп-хинтинга для скаляров продолжается. На рассмотрении три предложения:
    1. RFC: Coercive Types for Function Arguments [18] с принудительным привидением типов
    2. RFC: Scalar Type Declarations [17] с двойным режимом — строгая и слабая типизация
    3. RFC: Basic Scalar Types [19] — компромиссный вариантна случай если оба предыдущих не пройдут

    Для второго варианта было предложено [20] изменить способ задания вида типизации — вместо declare() использовать специальный колбэк. Голосование по второму предложению заканчивается уже завтра. Ну а пока запасаемся ПХПопкорном [21].

  • must read RFC: Exceptions in the engine [22] — Практически единогласно принято предложение реализовать в PHP 7 вместо фатальных ошибок обычные исключения. Также станет возможным отлавливать ошибки парсинга. Кроме этого, введена новая иерархия для того, чтобы код использующий отлов всех исключений catch(Exception $e) случайно не ловил фатальные ошибки и ошибки парсинга. Введен новый базовый тип BaseException, который непосредственно расширяется типами EngineException, ParseException и собственно Exception.
  • RFC: Consistent Function Names [23] — Одной из самых часто выдвигаемых претензий к PHP является неконсистентность именования функций и последовательности параметров. Предлагается переименовать функции, а для старых имен реализовать алиасы. Прилагается внушительный список функций-кандидатов на переименование.
  • RFC: Strict Argument Count On Function Calls [24] — Предложение предполагает, что интерпретатор должен выдавать предупреждение, когда функция вызывается с числом аргументов превышающим предусмотренное сигнатурой. Пост в поддержку [25].
  • RFC: Anonymous Classes [26] — Стартовало голосование по предложению о реализации анонимных классов в PHP.
  • RFC: Easy User-land CSPRNG [27] — Предлагается добавить простой криптографически стойкий генератор псевдослучайных чисел в виде функций random_bytes(int length) и random_int(int min, int max).
  • RFC: Generator Delegation [28] — Предлагается реализовать синтаксис yield from <expr> позволяющий генераторам делегировать операции Traversable объектам и массивам.
  • RFC: Generator Return Expressions [29] — Необходимое для предыдущего предложения изменение — поддержка return в генераторах.
  • RFC: Reclassify E_STRICT notices [30] — Предлагается избавиться от класса ошибок E_STRICT — некоторые перенести в другие классы, а неактуальные убрать.

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 9 Инструменты

  • Webiny Framework [31] — Еще один PHP-фреймворк и пост с обзором [32].
  • klermonte/zerg [33] — Небольшая библиотека для парсинга структурированных бинарных файлов.
  • wapmorgan/HttpServer [34] — Http-сервер полностью написанный на PHP.
  • briannesbitt/Carbon [35] — Удобная обертка над функциями работы с датой и временем в PHP.
  • jbroadway/urlify [36] — Библиотека для генерации урлов (slug), поддерживает транслитерацию. Порт URLify.js [37] из Django.
  • Dashbrew [38] — Сборка Vagrant-бокса с удобной конфигурируемой средой для разработки PHP-приложений.
  • maknz/slack [39] — Библиотека для отправки и приема сообщений из Slack [40].
  • Boris [41] — Отличный REPL для PHP.
  • cartalyst/converter [42] — Библиотека для конвертации значений из различных систем измерения.
  • FastRoute [43] — Обновился быстрейший роутер от Никиты Попова. В версии 0.4.0 добавлена возможность регистрации роута с несколькими методами одним вызовом.
  • Graphene [44] — Графовая база данных на PHP + MySQL.
  • phrep [45] — Препроцессор макросов для PHP.
  • mcordingley/Regression [46] — Библиотека реализующая базовые алгоритмы регрессионного анализа.
  • bound1ess/adviser [47] — CLI-инструмент для проверки PHP проектов на наличие readme/license/contributing файлов, правильные настройки Git-репозитория и Composer-манифеста, поддержку PSR-2, SemVer и т.п.

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 10 Материалы для обучения

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 32 Аудио и видеоматериалы

  • must readvideo PHP must watch [89] — Сборник рекомендуемых к просмотру видеозаписей по PHP.
  • video ZF3 SF meetup [90] — О Zend Framework 3 от Matthew Weier O'Phinney.

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 36 Занимательное

Прислать ссылку [94]
Быстрый поиск по всем дайджестам [95]
Предыдущий выпуск [96]

Автор: pronskiy

Источник [97]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/85815

Ссылки в тексте:

[1] Xdebug 2.3: http://xdebug.org/updates.php#x_2_3_0

[2] принудительный показ ошибок: http://derickrethans.nl/xdebug-2.3-error-munging.html

[3] конвертация предупреждений в ошибки: http://akrabat.com/convert-php-warnings-and-notices-into-fatal-errors/

[4] перегрузка var_dump: http://derickrethans.nl/xdebug-2.3-overload-vardump.html

[5] Yii 2.0.3: http://habrahabr.ru/post/251847/

[6] HHVM 3.6.0: http://hhvm.com/blog/8849/hhvm-3-6-0

[7] ранее: http://hhvm.com/blog/8405/coming-soon-in-hhvm

[8] Joomla! 3.4: http://www.joomla.org/announcements/release-news/5586-joomla-3-4-is-here.html

[9] Представлена экспериментальная реализация JIT для PHP от Zend: http://news.php.net/php.internals/83994

[10] PHPNG: http://php.net/archive/2014.php#id2014-05-27-1

[11] реализацию JIT: https://github.com/zendtech/php-src/tree/zend-jit/ext/opcache/jit

[12] 30 кратный рост и опережает реализацию на C: https://gist.github.com/dstogov/12323ad13d3240aee8f1#file-b-txt

[13] gRPC — новый PRC фреймворк поверх HTTP/2: http://googledevelopers.blogspot.com/2015/02/introducing-grpc-new-open-source-http2.html

[14] grpc: http://www.grpc.io/

[15] PHPCI обновился до версии 1.6: http://habrahabr.ru/post/251833/

[16] Стартовала EAP программа PhpStorm 9: http://blog.jetbrains.com/phpstorm/2015/02/phpstorm-9-early-access-program-started/

[17] Scalar Type Hints: https://wiki.php.net/rfc/scalar_type_hints_v5

[18] RFC: Coercive Types for Function Arguments: https://wiki.php.net/rfc/coercive_sth

[19] RFC: Basic Scalar Types: https://wiki.php.net/rfc/basic_scalar_types

[20] было предложено: http://news.php.net/php.internals/83882

[21] ПХПопкорном: https://www.kickstarter.com/projects/940438815/phpopcorn

[22] RFC: Exceptions in the engine: https://wiki.php.net/rfc/engine_exceptions_for_php7

[23] RFC: Consistent Function Names: https://wiki.php.net/rfc/consistent_function_names

[24] RFC: Strict Argument Count On Function Calls: https://wiki.php.net/rfc/strict_argcount

[25] Пост в поддержку: https://medium.com/@marcioalmada/why-strict-arg-count-on-function-calls-will-make-php-better-saner-easier-cc360bf7c7da

[26] RFC: Anonymous Classes: https://wiki.php.net/rfc/anonymous_classes#inheritancetraits

[27] RFC: Easy User-land CSPRNG: https://wiki.php.net/rfc/easy_userland_csprng

[28] RFC: Generator Delegation: https://wiki.php.net/rfc/generator-delegation

[29] RFC: Generator Return Expressions: https://wiki.php.net/rfc/generator-return-expressions

[30] RFC: Reclassify E_STRICT notices: https://wiki.php.net/rfc/reclassify_e_strict

[31] Webiny Framework: https://github.com/Webiny/Framework

[32] пост с обзором: http://www.sitepoint.com/exploring-webiny-framework-stdlib-component/

[33] klermonte/zerg: https://github.com/klermonte/zerg

[34] wapmorgan/HttpServer: https://github.com/wapmorgan/HttpServer

[35] briannesbitt/Carbon: https://github.com/briannesbitt/Carbon

[36] jbroadway/urlify: https://github.com/jbroadway/urlify

[37] URLify.js: https://github.com/django/django/blob/master/django/contrib/admin/static/admin/js/urlify.js

[38] Dashbrew: https://github.com/mdkholy/dashbrew

[39] maknz/slack: https://github.com/maknz/slack

[40] Slack: https://slack.com/

[41] Boris: https://github.com/d11wtq/boris

[42] cartalyst/converter: https://github.com/cartalyst/converter

[43] FastRoute: https://github.com/nikic/FastRoute

[44] Graphene: http://graphenelib.org/

[45] phrep: http://fossil.include-once.org/phrep/index

[46] mcordingley/Regression: https://github.com/mcordingley/Regression

[47] bound1ess/adviser: https://github.com/bound1ess/adviser

[48] Laravel-приложение и использование 500px API: http://www.sitepoint.com/popular-photos-filters-user-profiles-500px-api/

[49] 2: http://www.sitepoint.com/commenting-upvoting-uploading-photos-500px-api/

[50] Использование паттерна Репозиторий в Laravel 5: http://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/

[51] Об особенностях автозагрузчика в Laravel 5: http://alanstorm.com/laravel_5_autoloader

[52] Трюки Eloquent для лучших репозиториев: https://gist.github.com/Rhincodon/bb78be2d6bb3022177b4

[53] Фильтрация моделей в Eloquent в Laravel: https://iatstuti.net/blog/filtering-models-with-eloquent-in-laravel

[54] Symfony Must Watch: https://github.com/symfony-si/symfony-must-watch

[55] Пишем кастомный ParamConverter в Symfony2: http://stfalcon.com/blog/post/symfony2-custom-paramconverter

[56] Структурирование (Symfony) приложения: http://programmingarehard.com/2015/03/04/structing-my-application.html

[57] 2: http://programmingarehard.com/2015/03/05/structing-my-application-contd.html

[58] Изменение объекта Response глобально с использованием события Kernel Response: http://loige.co/symfony-edit-the-response-globally-using-the-kernel-response-event/

[59] Бюджетные сайты в Хабаровске, как мы это делаем: http://habrahabr.ru/post/252531/

[60] Нюансы коммерческой разработки на WordPress: http://habrahabr.ru/post/252393/

[61] Недостатки WordPress — техническая сторона: http://habrahabr.ru/post/251257/

[62] Об устройстве OPCache в PHP: http://jpauli.github.io/2015/03/05/opcache.html

[63] Использование ошибок связанных с повреждением памяти в PHP: http://www.inulledmyself.com/2015/02/exploiting-memory-corruption-bugs-in_23.html

[64] уязвимостей сериализации в PHP: https://bugs.php.net/bug.php?id=68594

[65] Проблема безопасности: Использование Bcrypt с другими хэш-функциями: http://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html

[66] password_hash: http://php.net/manual/ru/function.password-hash.php

[67] Запрос на обратную связь: Новые MongoDB-драйверы для PHP и HHVM: http://www.mongodb.com/blog/post/call-feedback-new-php-and-hhvm-drivers

[68] Делаем стартап на PHP: Локализация с помощью I18n: http://code.tutsplus.com/tutorials/building-your-startup-with-php-localization-with-i18n--cms-23102

[69] серии постов о Yii: http://code.tutsplus.com/series/building-your-startup-with-php--cms-742

[70] Безопасное распространение PHAR-файлов: проблемы и решения: http://blog.astrumfutura.com/2015/03/securely-distributing-phars-pitfalls-and-solutions/

[71] Создание кастомных плагинов для расширения MySQLnd: https://blog.engineyard.com/2015/writing-custom-plugins-for-php-mysqlnd

[72] PHP со скоростью C: http://mgdm.net/weblog/php-at-the-speed-of-c/

[73] Recki-CT: https://github.com/google/recki-ct

[74] Серия постов об устройстве ReactPHP: http://blog.wyrihaximus.net/categories/reactphp-series/

[75] Принцип Инверсии Управления – Голливудский Принцип: https://phptime.ru/Adik88/princip-inversii-upravleniya-gollivudskiy-princip.html

[76] Перезапуск демона на PHP без потери соединений к нему: http://habrahabr.ru/post/252809/

[77] 30 чудных библиотек для PHP программистов: http://habrahabr.ru/post/252851/

[78] Дайджест интересных материалов из мира Drupal #5: http://habrahabr.ru/post/251255/

[79] #6: http://habrahabr.ru/post/252521/

[80] Показываем процесс работы непрерывной задачи на сервере, используя одно соединение: http://habrahabr.ru/post/252983/

[81] CKFinder — размеры картинок: http://habrahabr.ru/post/252653/

[82] Sendmail-заглушка для PHP и на PHP: http://habrahabr.ru/post/252607/

[83] PHPUnit: Электронная таблица (spreadsheet) в качестве источника данных (data provider): http://habrahabr.ru/post/252489/

[84] Текстовой чат для сайта: http://habrahabr.ru/post/252349/

[85] PHPixie 3.0 ORM или новый взгяд на ActiveRecord: http://habrahabr.ru/post/252305/

[86] Zend Certification. Не так страшен черт: http://habrahabr.ru/post/252199/

[87] Атомный реактор в каждый сайт: http://habrahabr.ru/post/252013/

[88] Взаимодействие PHP и Erlang по средствам RabbitMQ: http://habrahabr.ru/post/251927/

[89] PHP must watch: https://github.com/phptodayorg/php-must-watch

[90] ZF3 SF meetup: https://www.youtube.com/watch?v=B2YqevRpi6E&feature=youtu.be

[91] Пасхальные яйца на php.net: http://www.reddit.com/r/PHP/comments/2y4nbl/just_found_some_hidden_features_on_phpnet_hope/

[92] Опрос: Лучший PHP-фреймворк 2015: http://www.sitepoint.com/best-php-framework-2015-survey/

[93] Наблюдаем за голосованиями по PHP RFC в реальном времени: http://php-rfc-watch.beberlei.de/

[94] Прислать ссылку: http://bit.ly/php-digest-add-link

[95] Быстрый поиск по всем дайджестам: http://pronskiy.github.io/php-digest/

[96] Предыдущий выпуск: http://habrahabr.ru/company/zfort/blog/251223/

[97] Источник: http://habrahabr.ru/post/253135/