Дайджест интересных новостей и материалов из мира PHP № 35 (26 января — 9 февраля 2014)



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

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


    Новости и релизы


    • Обновления PHP 5.5.9 и PHP 5.4.25 — Исправлены ошибки, в том числе в PHP 5.5.9 устранена уязвимость в расширении GD, позволяющая инициировать переполнение кучи при обработке специально оформленных изображений через функцию imagecrop().
    • PSR-7 HTTP message interfaces — Черновик нового стандарта от группы PHP-FIG.
    • Mockery 0.9.0 — Свежая версия популярного инструмента создания моков.
    • HHVM 2.4.0 — Обновление виртуальной машины PHP. В основном лишь исправления ошибок.
    • React v0.4.0 — Свежая версия «node.js для PHP». Подробно о React video рассказывал сам автор.


    PHP




    Инструменты


    • Duct — Библиотека для непрерывного парсинга JSON.
    • Phrocco — Генератор красивой и удобной документации для PHP. Порт Docco.
    • Fractal — Библиотека предоставляет слой представления и преобразования данных сложного вида, часто встречающихся в RESTful API.
    • Its Continuous! — Микроприложение для непрерывной интеграции PHP-проектов.
    • Phystrix — Библиотека для решения проблемы отказоустойчивости распределенных систем. Порт Java-библиотеки Hystrix.
    • Puli — Библиотека, которая предоставляет доступ к файлам вашего PHP проекта через единую систему именования. Имеется также плагин для Composer.
    • Alice — Генератор фикстур, позволяющий описывать данные для тестирования в простом для чтения и редактирования виде.
    • Pest — Библиотека PHP-клиент RESTful веб-сервисов.
    • LiipMonitor — Библиотека для мониторинга работоспособности систем приложения.
    • ohmy-auth — Библиотека для работы с OAuth-сервисами в стиле текучего интерфейса (цепочек вызовов) и promise'ов.
    • Assert — По сути библиотека валидации данных. Пост с описанием от автора.
    • Recoil — Библиотека от автора React, реализующая многозадачность в PHP c помощью корутин habr.


    Материалы для обучения




    Материалы c прошедших конференций




    Аудио и видеоматериалы


    • video PHPStorm Test Workflow
    • video PHPSpec так хорош — Небольшой туториал по использованию PHPSpec.
    • ru Подкаст Laravel.IO №9 — Перевод подкаста, в котором создатель Laravel Тейлор и другие участники сообщества обсуждают фреймворк, его будущее и смежные темы.
    • video Подкаст Voices of the ElePHPant #5 — Неформальная беседа с известными личностями из PHP-сообщества: Sara Golemon (HHVM), Derick Rethan (Xdebug), Illia Alshanetsky, Ben Ramsey.


    Занимательное




    Быстрый поиск по всем дайджестам
    Предыдущий выпуск
    Zfort Group
    112,00
    Компания
    Поделиться публикацией

    Комментарии 11

      +2
      HHVM Composer — Когда же они исправят работу с Timer'ом? К примеру установка ZF либо Symfony очень часто крашится из-за Первышения лимита микро-таймера (не Request Timeout).

      Спасибо за полезный выпуск, много в избранное попало.
        +3
        Спасибо за очередной хороший выпуск.

        В дополнение может кому понадобится подборка хороших практик от William Durand:
        PHP slides
        PHP extended slides
          0
          Отличные сслылки! Есть ли ещё что-нибудь подобное?
            +1
            Сразу так и не припомню, если будет что появляться, буду просить автора включить в дайджест )
              0
              Это было бы отлично!
          +10
          SQL-injection в Yii framework

          Даже не знаю как прокоментировать…

          Вообще же приведенный там код:
          public function actionSqlView($id)
          {
            $sql = 'SELECT * FROM news WHERE id = '. $id;
            $model = Yii::app()->db->createCommand($sql)->queryRow();
            $this->render('sqlView', array('model' => $model));
          }
          

          отличный пример того, как не надо делать

          А если бы автор вместо замещения вакансии КО (сколько уже всего написано про SQL-injection), заглянул в код Yii, то увидел бы, что:
          	public function createCommand($query=null)
          {
          $this->setActive(true);
          return new CDbCommand($this,$query);
          }
          


          И соответственно вот этот говнокод из статьи:
          $sql = 'SELECT * FROM news WHERE id = '. (int)$id; 
          
          $sql = 'SELECT * FROM news WHERE id = :id';
          $command = Yii::app()->db->createCommand($sql);
          $command->bindParam(':id', $id, PDO::PARAM_INT);
          $model = $command->queryRow();
          


          Превращается в идеологически правильный и безопасный:
          $model = Yii::app()->db->createCommand()
              ->select('*')
              ->from('news')
              ->where('id=:id', array(':id'=>$id))
              ->queryRow();
          
            0
            Да, эта статья отличная иллюстрация того, что говнокодить можно на любом языке с помощью любого фреймворка.
            +1
            По Satis (установка зеркала Composer пакетов) есть на хабре.
              0
              Спасибо, добавил ссылку в пост
              0
              Очередные PHP — Best Practises, и в каждом посте одно и тоже.
              Кто-нибудь должен написать пость «Лучшие практики, о которых вы еще не знали», иначе это все похоже на то, что каждый PHP-разработчик обязан написать свои «Best Practises».
                +1
                Трюки и хаки PhpStorm — великолепно!

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое