Дайджест интересных новостей и материалов из мира 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
    Company
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 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 — великолепно!

                Only users with full accounts can post comments. Log in, please.