Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Релиз CodeIgniter 3.0.0
- Zend Framework 2.4.0
- Doctrine ORM 2.5.0
- Отменено голосование по PSR-7 — В связи с необходимостью ответить на ряд замечаний стандарт PSR-7 HTTP Message Interfaces вернулся в стадию Review на доработки. Старт повторного голосования планируется не раньше чем через две недели.
- Анонс конференции ThinkPHP в Харькове
PHP
- RFC: Reserve Even More Types in PHP 7 — С принятием этого предложения были зарезервированы слова:
resource
,object
,mixed
,numeric
для возможного использования в будущем. Однако в настоящем это создает трудности для существующих библиотек и фреймворков.
Инструменты
- ko-worker — Библиотека для простого создания обработчиков очередей на AMQP. Прислал misterion.
- mobiledetect — Отличный класс для определения типа устройств. Прислал lllypynby.
- sabre/xml — Библиотека для работы с XML. Пост с описанием.
- forp — Простой профайлер для PHP.
- Munee — Изменение размеров изображений на лету, компиляция LESS, SCSS, CoffeeScript и т.п.
- doubleleft/hook — Расширяемое Backend as a Service решение на PHP.
- Rocketeer — Инструмент для запуска задач и развертывания приложений.
- TTools — Библиотека для работы с Twitter API.
- ReflectionBrowser — Веб-приложение для просмотра runtime-информации в PHP.
- Composer — Shared Package Plugin — Позволяет использовать ваши пакеты в нескольких проектах с помощью символических ссылок.
- Httpful — Простой HTTP-клиент на PHP.
- Шаблоны job для Jenkins для PHP-проектов
- Silly — CLI-микрофреймворк на основе Symfony Console.
Материалы для обучения
Laravel
- Простой гайд по миграции приложения с Laravel 4 на Laravel 5
- Laravel: The Right Way — Как PHP: The Right Way, только по Laravel.
Symfony
- CVE-2015-2309: Unsafe methods in the Request class, CVE-2015-2308: Esi Code Injection — Устранена пара уязвимостей в Symfony 2.
- Статистика использования Symfony 2 и его компонентов
- Привязки из вендорного бандла к рабочему проекту Symfony2
- Статический анализ PHP кода на примере Symfony2 (часть 2)
Yii
- Открытая лекция по архитектуре Yii2 от Павла Климова
- Yii2 Pjax Tutorial
- SEO-сервис на Yii2: Доработка стандартного шаблона приложения
- Модульное тестирование поведения Yii2 с помощью Codeception
- Создаем стартап на PHP: Access Control, Active Record Relations
PHP 7
- PHP 7 Builds — Компания Zend представила «ночные» сборки PHP 7 для RHEL и Debian.
- Обзор RFC принятых для PHP 7
- Microsoft Channel 9: Экосистема PHP — О PHP 7 и обзор альтернативных реализаций.
- Сборка и тестирование PHP 7
- Чего ожидать от PHP 7
- Исключительный PHP — Подробно о механизме исключений в PHP. Продолжение серии постов от Julien Pauli об особенностях внутреннего устройства интерпретатора.
- Эксперименты с HHVM в Etsy — О том, почему HHVM, какие плюсы, проблемы с которыми столкнулись и о дополнительных инструменты, которые предоставляет HHVM.
- Создание PHP-расширений на Rust
- DUnit – как Travis-Ci только локально. Тестирование вашего кода на PHP7 и HHVM — Прислал Cory Darby.
- Монолитные репозитории с помощью PHP и Composer — Рассматриваются преимущества использования большого репозитория, который включает код всех подпроектов, по сравнению с использованием отдельных репозиториев на каждый проект/библиотеку. Автор также реализовал инструмент fiddler, который воплощает описанный подход.
- Руководство по Composer для начинающих
- Введение в Humbug — Фреймворк для мутирующего тестирования на PHP.
- PHP — под капотом — Слайды о том как устроен PHP.
- Интеграция Elasticsearch в Silex
- Тестирование модулей Magento с помощью Aspect Mock
- Небольшой анализ PHP-малвари
- Сравнительная таблица Doctrine2 и Propel 2
- Прием Amazon SNS сообщений в PHP
- Семь способов испортить Bcrypt
- Таблица-шпаргалка: JavaScript, PHP, Python, Ruby — Как одни и те же задачи выполнить на разных скриптовых языках.
- PHP Performance and Scaling — Подборка видеозаписей по масштабированию и производительности PHP-приложений.
- Пишем TCP-сервер с помощью PHP и Rachet
- Phalcon. Впечатления
- Собрать лучшее из двух миров — фреймворков и CMS (часть 2)
- Визуализация качества кода с PhpMetrics
- Перевод часов в России, опять… и php5-intl
- Генератор документов docx и xlsx
- Дайджест интересных материалов из мира Drupal #7
- Все еще торт, часть 3.0.0 — Обзор CakePHP 3.0.0.
- Подробно об объектах и классах в PHP
Занимательное
- Окончательный бенчмарк print vs echo
- PHP heads — Список из 70 деятелей PHP-сообщества со ссылками на их профили в соцсетях.
- Модель слона elePHPant для 3D-принтеров
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Присылайте ссылки на интересные статьи или полезные инструменты, которых не было в PHP-Дайджестах, и ваше имя будет рядом с присланной ссылкой в выпуске.
Прислать ссылку
Быстрый поиск по всем дайджестам
< Предыдущий выпуск
Комментарии (13)
HunterNNm
14.04.2015 08:10Добавил бы что появился Phalcon 2.0 RC1, релиз stable версии 17 апреля, но уже можно пощупать… http://phalconphp.com/ru/download
OnYourLips
14.04.2015 09:15+1> Laravel: The Right Way — Как PHP: The Right Way, только по Laravel.
На самом деле там еще пусто, и ничего нет. Похоже таким образом только домен застолбили и ждут общество, которое добавит им контента.
> PHP 7 Builds — Компания Zend представила «ночные» сборки PHP 7 для RHEL и Debian.
Есть же registry.hub.docker.com/u/coderstephen/php7
Через docker ставить подобное гораздо удобнее.
Хотя имхо виртуалка от Расмуса еще удобнее.
DjOnline
14.04.2015 12:01+1Это какое-то извращение, выбрать Phalcon из-за скорости и использовать тормозной ORM, и жаловаться на то что этот ORM в их реализации делает 2 запроса к базе. Люди, не проще ли разобраться один раз в SQL и делать на нём всё что угодно, включая то что не позволит никакой ORM, и выиграть при этом в скорости выполнения. Люди стараются, придумывают ещё более быстрые вещи, такие как HandlerSocket и интерфейс memchached для mysql, а тут до сих пор используют ORM, который ещё и под каждый framework или cms свой. Изврат да и только.
У меня например есть SQL запрос на 30 строк с ROLLUP, который за несколько секунд строит отчёт по продажам за 10 лет с любыми сегментациями по месяцам, статусам, менеджерам, средним чекам и так далее. Хрен вы такое сделаете на ORM.
Объясните ещё, причём тут Microsoft и PHP? Или это просто некий канал, где всё обо всём?
pronskiy Автор
14.04.2015 12:08+1Канал обо всем, но у Microsoft есть Azure, на котором можно хостить PHP-проекты azure.microsoft.com/en-us/develop/php
HunterNNm
14.04.2015 12:44+1Как по мне так у Phalcon PHQL довольно удобный и быстрый… Да и вот после выхода версии 2.0 может что изменится… Да и никто же не заставляет пользоваться строго ORM — можно и свою обёртку под PDO написать
DjOnline
14.04.2015 13:46-2Чем PHQL лучше обычного SQL? Чем он хуже понятно — ещё раз съедает процессорное время. Эфимерное преимущество «любая СУБД» обычно не нужно в мире PHP, где базу выбирают один раз и навсегда (особенно если используются триггеры, хранимые процедуры и прочее).
p.s. это недостаток множества современных разработок. Что-то сделают, но не пишут — зачем это надо, чем это лучше.Arilas
14.04.2015 16:59Ну для новичков такие вот обертки над SQL'ом обязуют следовать каким-нибудь стандартам и не стрелять себе в ногу слишком часто.
Но как только задача начинает выходить из разряда обычных, эти PHQL, DQL, и т.д. начинают очень сильно портить все. К примеру взять PostgreSQL и его поле типа json, PHQL не даст работать с функциями PostgreSQL, и в то же время сама постгря не даст работать с полем как со строкой, в итоге получается что человек не может использовать все фичи того, что юзает.
К примеру есть запрос для постгри:
SELECT e.* FROM employee e, json_array_elements(e.roles) r WHERE r.value::text = :needRole
На DQL это будет:
никак(можно самому описать собственную функцию, описать ее конвертирование, но это займет over-много времени), такое сделать нельзя, только если указать поле типа text и вручную его из json и в json перегонять
bosha
15.04.2015 17:12+2Зачем? Затем, чтобы «абстрагироваться» и унифицировать использование. Чтобы из ORM генерировать поля для форм, из них формы их рендерить на страницах, и автоматически «валидировать» их. Это всё экономит человеко-часы. Ещё один сервер в стойку можно доставить хоть на следующий день, а написание отличного со всех сторон кода занимается месяцы, а то и годы. И вот когда все фичи реализованы, а баги исправлены — можно заниматься рефакторингом, и искать узкие места в производительности, и их оптимизировать. И опять же, оптимизация в этом случае чаще всего заключается не в простом $database->raw(«INSERT INTO ...»), а в оптимизации существующей ORM чтобы использовать её в следующих проектах, либо других модулях текущей системы.
wersoo
15.04.2015 13:33PHP — под капотом — Слайды о том как устроен PHP.
О, автор тот самый человек, который не знает чем различаютсяstack
иqueue
=)borNfree
15.04.2015 13:53Поделитесь ссылкой или статьей, где он не различает?
wersoo
15.04.2015 14:02+1В книге «Zend PHP 5 Certification Study Guide» есть глава «Arrays as Stacks, Queues and Sets», где написано:
If you intend to use an array as a queue, you can add elements to the beginning and extract them from the end by using the array_unshift() and array_shift() functions:
<?php
$stack = array('qux', 'bar', 'baz');
$first_element = array_shift($stack);
var_dump($stack);
array_unshift($stack, 'foo');
var_dump($stack);
?>
Ясно что ошибка, но этот абзац уже несколько раз перекочевывал из издания в издание.
SonicGD
Спасибо за подборку! Пойду заменять все echo на die.