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

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

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

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

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

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

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

  • must read RFC: Scalar Type Hints [15] — Предложение по праву можно назвать самым спорным и обсуждаемым в истории PHP. Pascal Martin подробно описал суть предложения [16] в своем посте. Также в поддержку предложения выступил Энтони Феррара, изложив аргументы за [17] у себя в блоге. Тем не менее камнем преткновения стал вопрос строгости типизации и ряд справедливых контраргументов привели Расмус Лердорф в комментариях [18], Зеев Сураски в php.internals и многие другие [19].
    Голосование закончилось с результатом 67 за и 34 против, а значит, не хватило всего одного голоса для его принятия. В связи с этим автор предложения Andrea Faulds, объявила о том, что прекращает работу над PHP [20] и отзывает свои RFC среди которых Scalar Type Hints, Spaceship/Combined Comparison Operator, Void Return Type, Big Integer Support. Несмотря на это, работу над предложением подхватили другие core-контрибьюторы, результатом чего стали предложения от Энтони Феррара — Scalar Type Hints v5 [21] и от Зеева Сураски — RFC: Coercive Types for Function Arguments [22].
  • RFC: Combined Comparison (Spaceship) Operator [23] — Предложение добавить оператор <=> хоть и было отозвано, но позже восстановлено, принято и влито в PHP 7.
  • RFC: Native Design by Contract support as definition [24] — Предлагается реализовать в языке PHP возможности контрактного программирования. Также чуть ранее было аналогичное предложение [25], но с указанием контрактов в аннотациях.
  • RFC: Make empty() a Variadic [26] — Предлагается добавить в функцию empty() возможность передавать любое число аргументов: if (empty($a, $b, $c)) {}.
  • RFC: Context Sensitive Lexer [27] — Принятие этого предложения позволит использовать некоторые ключевые слова в качестве имен классов или методов.
  • RFC: In Operator [28] — Предлагается добавить новый оператор in, который облегчит проверку на вхождение элемента в строку или массив: $contains = "foo" in ["foo", "bar"]; // true
  • RFC: Encapsulation [29] — Предлагается реализовать инкапсуляцию классов, интерфейсов и трейтов на уровне пространств имен. Таким образом, класс, объявленный как приватный в нейсмпейсе, будет доступен только внутри этого неймспейса.
  • RFC: Sum Types [30] — Начиная с версии 5.1 в PHP добавлена возможность явно указывать тип параметров, а в PHP 7 реализована поддержка указания типов возвращаемых значений. Предлагается добавить возможность указания нескольких типов для этих случаев, например:
    function (array|Traversable $in) {}

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

  • Mondrian [31] — Набор консольных утилит для статического анализа кода. Позволяет выявить и отрефакторить сильно связный код.
  • RegExpBuilder [32] — Конструктор регулярных выражений.
  • wapmorgan/ServerStat [33] — Утилита сбора информации (cpu, mem, swap) для мониторинга сервера.
  • Gatekeeper [34] — Независимая от фреймворков библиотека, реализующая систему RBAC с юзерами, группами, правами.
  • PHPBU — PHP Backup Utility [35] — Утилита для создания и синхронизации бэкапов БД и файлов.
  • phptrace [36] — Расширение для трассировки PHP-скриптов и вывода стека вызовов.
  • MINI 2 [37] — Скелет приложения на основе микрофреймворка Slim, предназначенный для быстрого прототипирования.
  • Pake [38] — Make для PHP.
  • appserver.io [39] — Многопоточный сервер приложения на PHP для PHP.
  • PHP Face Detection [40] — Распознавание лиц на PHP.
  • Medio [41] — Кодогенератор с использованием twig-шаблонов.
  • ePHP [42] — Интерпретатор PHP на чистом Erlang.

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

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

Если вы заметили опечатку или ошибку, пожалуйста, напишите мне в личку!

Прислать ссылку [74]
Быстрый поиск по всем дайджестам [75]
Предыдущий выпуск [76]

Автор: pronskiy

Источник [77]


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

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

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

[1] 5.6.6: http://php.net/archive/2015.php#id2015-02-19-2

[2] 5.5.22: http://php.net/archive/2015.php#id2015-02-19-1

[3] 5.4.38: http://php.net/archive/2015.php#id2015-02-18-1

[4] ошибки: http://php.net/ChangeLog-5.php

[5] CVE-2015-0235: https://bugs.php.net/bug.php?id=68925

[6] возможностью: http://www.opennet.ru/opennews/art.shtml?num=41577

[7] GHOST: http://www.opennet.ru/opennews/art.shtml?num=41549

[8] CVE-2015-0273: https://bugs.php.net/bug.php?id=68942

[9] Анонс спецификации языка Hack: http://hhvm.com/blog/8537/announcing-a-specification-for-hack

[10] спецификации PHP: https://github.com/php/php-langspec/blob/master/spec/00-specification-for-php.md

[11] спецификация Hack: https://github.com/hhvm/hack-langspec/blob/master/spec/00-specification-for-hack.md

[12] отличий: https://github.com/hhvm/hack-langspec/blob/master/spec/23-differences-from-php.md

[13] Ожидается в HHVM: http://hhvm.com/blog/8405/coming-soon-in-hhvm

[14] Доступно для покупки 3-е издание Zend PHP 5 Certification Study Guide: http://www.phparch.com/books/zend-php-5-certification-study-guide-3rd-edition/

[15] RFC: Scalar Type Hints: https://wiki.php.net/rfc/scalar_type_hints

[16] суть предложения: http://blog.pascal-martin.fr/post/in-favor-of-rfc-scalar-type-hints.html

[17] аргументы за: http://blog.ircmaxell.com/2015/02/scalar-types-and-php.html

[18] в комментариях: https://plus.google.com/106194506269893913674/posts/WSknbzJPdqo

[19] многие другие: http://www.whitewashing.de/2015/02/10/a_case_for_weak_type_hints_only_in_php7.html

[20] объявила о том, что прекращает работу над PHP: http://news.php.net/php.internals/82750

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

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

[23] RFC: Combined Comparison (Spaceship) Operator: https://wiki.php.net/rfc/combined-comparison-operator

[24] RFC: Native Design by Contract support as definition: https://wiki.php.net/rfc/dbc2

[25] аналогичное предложение: https://wiki.php.net/rfc/dbc

[26] RFC: Make empty() a Variadic: https://wiki.php.net/rfc/variadic_empty

[27] RFC: Context Sensitive Lexer: https://wiki.php.net/rfc/context_sensitive_lexer

[28] RFC: In Operator: https://wiki.php.net/rfc/in_operator

[29] RFC: Encapsulation: https://wiki.php.net/rfc/encapsulation

[30] RFC: Sum Types: https://wiki.php.net/rfc/sum_types

[31] Mondrian: https://github.com/Trismegiste/Mondrian

[32] RegExpBuilder: https://github.com/gherkins/regexpbuilderphp

[33] wapmorgan/ServerStat: https://github.com/wapmorgan/ServerStat

[34] Gatekeeper: https://github.com/psecio/gatekeeper/tree/master

[35] PHPBU — PHP Backup Utility: https://github.com/sebastianfeldmann/phpbu/tree/master

[36] phptrace: https://github.com/Qihoo360/phptrace

[37] MINI 2: https://github.com/panique/mini2

[38] Pake: https://github.com/indeyets/pake

[39] appserver.io: https://github.com/appserver-io/appserver

[40] PHP Face Detection: https://github.com/mauricesvay/php-facedetection

[41] Medio: http://gnugat.github.io/medio/

[42] ePHP: https://github.com/altenwald/ephp

[43] Что нового в Laravel 5: http://code.tutsplus.com/tutorials/whats-new-in-laravel-5--cms-21842

[44] Использование StackPHP middleware в Laravel 5: http://barryvdh.nl/laravel/2015/02/18/using-stackphp-middleware-in-laravel-5/

[45] О CSRF-защите в Laravel: http://barryvdh.nl/laravel/2015/02/21/csrf-protection-in-laravel-explained/

[46] Как упороться по DDD, модульной структуре и областям ответственности в Laravel. А потом стать счастливым =): https://gist.github.com/greabock/48787baab768b519f21c

[47] Laracasts.com: Laravel 5 Fundamentals: https://laracasts.com/series/laravel-5-fundamentals

[48] Быстрая разработка приложения — от идеи до прототипа за 1 ч 45 мин с помощью Laravel: https://www.youtube.com/watch?v=g4BbeHYCR1E

[49] Symfony2. Универсальный инструмент для быстрого приготовления табличных списков в административной панели: http://habrahabr.ru/post/250039/

[50] Запускаем Symfony 2 на PHP 7: http://www.intracto.com/nl/blog/running-symfony2-on-php7

[51] Обзор компонентов Symfony2: Применение преобразователя данных: http://devacademy.ru/posts/obzor-komponentov-symfony2-primenenie-preobrazovatelya-dannyih/

[52] Шпаргалка по Symfony2: http://www.symfony2cheatsheet.com/

[53] Динамическое обращение к $this не должно работать, но работает: http://stackoverflow.com/questions/28419924/dynamically-reference-to-this-should-not-work-but-it-does

[54] Краткое введение в микрофреймворк Silex: http://www.sitepoint.com/introduction-silex-symfony-micro-framework/

[55] Графовые базы данных с помощью Neo4j и PHP: http://www.sitepoint.com/discover-graph-databases-neo4j-php/

[56] Делаем стартап на PHP: Геолокация и Google Places: http://code.tutsplus.com/tutorials/building-your-startup-with-php-geolocation-and-google-places--cms-22729

[57] Развертывание приложений с помощью Envoy: https://serversforhackers.com/deploy-envoy/

[58] PHP Void: Много шума из ничего: https://philsturgeon.uk/php/2015/02/15/php-void-much-ado-about-nothing/

[59] RFC: Void Return Type: https://wiki.php.net/rfc/void_return_type

[60] Настройка Jenkins с Codeception: http://codeception.com/02-04-2015/setting-up-jenkins-with-codeception.html

[61] Как HHVM использует C++ для развлечения и пользы: http://isocpp.org/blog/2015/02/cppcon-2014-how-hhvm-uses-modern-cpp-for-fun-and-profit-literally-drew-paro

[62] Используем Travis CI для автоматизации блога на Sculpin: http://wouterj.nl/2015/02/using-travis-to-build-your-sculpin-blog/

[63] Разбор вызовов функций в PHP: http://habrahabr.ru/company/mailru/blog/250861/

[64] Нестандартная оптимизация проектов на PHP: http://habrahabr.ru/post/250985/

[65] Опрос: как у вас решается проблема синхронизации параллельных запросов на PHP?: http://habrahabr.ru/post/250617/

[66] PSR-7 в примерах: http://habrahabr.ru/post/250343/

[67] перешел в стадию ревью: https://groups.google.com/forum/#!msg/php-fig/rQgQmEMtcdk/GYMiQesvAigJ

[68] Отладка с помощью XDebug и PhpStorm (дополнение): http://habrahabr.ru/post/250323/

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

[70] Как я интегрировал WebSockets в существующую систему на PHP: http://habrahabr.ru/post/250085/

[71] Faces Of The Elephpant: http://www.facesoftheelephpant.com/

[72] phpToday: https://www.phptoday.org/

[73] Hacker News: https://news.ycombinator.com/

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

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

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

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