Дайджест интересных новостей и материалов из мира PHP за последние две недели №5 (17.11.2012 — 30.11.2012)

от автора

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

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

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

PHP

  • PHP the Nice Way — Отличнейший пост, в котором автор делится своим опытом программирования на PHP, рассказывает о своих ошибках и открытиях. Пост полон полезных советов и рекомендаций.
  • Используйте лучший API в вашем PHP MySQL приложении — На данный момент в PHP доступно три интерфейса для работы с MySQL, а именно: ext/mysql, ext/mysqli и PDO_MySQL. В php.internals разгорелось обсуждение о необходимости исключения морально устаревшего ext/mysql из поставки по-умолчанию и переносе в PECL. В своем посте автор подробно раскрывает эту тему, приводит тщательное всестороннее сравнение трех интерфейсов.
  • PHP: Эра тестирования — По мнению автора, за последнее десятилетие PHP сообщество прошло через несколько важных этапов: переход к ООП, безопасность веб-приложений, использование фреймоворков, стандарты кода, и на данный момент проходит этап, который можно назвать эрой тестирования.
  • If it’s not written in PHP it’s irrelePHPant! — Автор не без доли юмора призывает PHP сообщество к активному написанию собственных инструментов исключительно на PHP.
  • 3 странных факта из PHP, о которых вы могли не знать — Если вы программируете на PHP достаточно долго, то для вас этот пост будет просто напоминанием о неочевидном поведении вещественных чисел в PHP или об «эффектах» нестрогой типизации. Однако если вы новичек, то эти факты могут быть открытием.
  • PHP Trends — Небольшое приложение, которое показыает список PHP библиотек, фреймворков и т.д. (репозиториев на GitHub), отсортированных по популярности. В качестве индекса популярности используется число добавивших репозиторий в избранное.
  • Упрощенное хэширование паролей — Некоторое время назад Anthony Ferrara предложил включить стандартизированный интерфейс хэширования в ядро PHP. Предложение было поддержано голосованием, а затем реализовано и уже включено в версии PHP 5.5. Автор предлложения в своем посте рассказывает подробности нового функционала и отвечает на самые частозадаваемые вопросы по этому поводу.
  • Запускаем программы командной строки как функции в PHP — Автор был вдохновлен Питоновской sh и создал нечто подобное для PHP. Используя разработанный им инструмент можно делать вот такие вещи, например: $sh->ssh(array(‘myserver.com’, ‘-p’ => 1393))->tail(array("/var/log/dumb_daemon.log", ‘n’ => 100)); и это будет равносильно вызову: ssh myserver.com -p 1393 tail /var/log/dumb_daemon.log -n 100 из командной строки.

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

  • Мигрируем на Dependency Injection — Интересный пост, в котором автор подробно описывает процесс изменения кода небольшого приложения, которое не использует DI к такому, которое использует.
  • Создаем собственный фреймворк на основе компонентов Symfony2 — В 11 выпуске автор расскажет нам о возможностях HttpKernelInterface, добавляя все большее количество listeners на запрос. Это очень удобный способ протестировать и отладить отдельную фичу, а потом просто интегрировать её во flow запроса, там где необходимо. Предыдущие выпуски: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  • Принцип единственной обязанности — Продолжаем рассматривать принципы SOLID. На этот раз речь пойдет о букве «S». Для начала автор в посте демонстрирует нарушение принципа на примере класса, который кроме обработки данных пользователя, также реализует функционал доступа к базе данных. Затем автор рефакторит код, разбивая один класс на несколько новых, каждый со своими обязанностями.
  • Суп из парадигм — В этом небольшом видеоролике небезызвестный деятель PHP сообщества — Anthony Ferrara рассказывает о разнице между процедурным, объектно-ориентированном и фунциональным программированием и о том, как они пересекаются в коде.
  • Кодирование — Еще один видеоролик от Anthony Ferrara, на этот раз о кодировании информации.
  • Как делать вид, что вам не безразлична ваша работа — Интересный доклад о том, что делать (PHP) разработчику для собственного развития.
  • Что нового в Zend\Form появится с версией ZF 2.1 — Перевод статьи Michaël Gallego об обновлениях компонента Zend\Form в ZF 2.1 (новые элементы, менеджер элементов, короткие имена, зависимости и полностью обновленная загрузка файлов). Оригинал.
  • Вопросы и мысли новичка о рендеринге на клиентской стороне — Автор впервые задается вопросом рендеринга на клиентской стороне, сравнивая рендеринг на сервере и клиенте, а также анализируя сложности, которые могут возникать при рендеринге контента на клиентской стороне. Предлагает решение выявленных проблем и отвечает на вопрос, когда можно использовать рендеринг на клиентской стороне и как для этого можно использовать ZF2.
  • Отладка и профилирование на PHP с помощью Xdebug — Подробный туториал о использовании базовых возможностей Xdebug. В качестве IDE для отладки использован NetBeans.
  • Улучшение производительности Zend Framework 2 — Пока еще небольшой список советов и трюков, направленных на улучшение производительности приложений на ZF2. Автор планирует постоянно пополнять список, собирая советы и трюки из разных источников в одном месте.
  • Создание класса корзины покупок — Подробный туториал по реализации корзины покупок в ООП стиле от Ларри Ульмана.
  • Не тяните ваши зависимости — В этой статье автор снала объясняет, почему в некоторых случаях необходимо тянуть зависимости в Symfony2 и затем — почему этого не стоит делать в остальных случаях.
  • Отделение кода приложения от фреймворка — Автор пишет о том, что в большинстве случаев код приложения сильно зависит от фреймворка, а также приводит рекомендации по тому, как максимально ослабить такие связи.
  • Конфигурация Nginx для Symfony2 — Расстановка точек над конфигурацией NGINX для Symfony2 приложений.
  • PHP.Kryptik.AB – Дайте мне ваш FTP! — В посте речь идет о давно гуляющей по сети малвари, которая угоняет пароли от FTP серверов и затем, подключившись к ним, встраивает вредоносный код в найденные PHP скрипты. Автор рассказыает, как происходит заражение, как обеззаразить сайт и как недопустить повторного заражения.
  • Валидация и фильтрация на PHP — Тема стара, и тем не менее, автор рассматривает типичные угрозы безопасности, рассказывает о том, что такое валидация. Приводит пример реализации с использованием стандартного расширения для фильтрации данных касается реализации на Symfony 2, Laravel 3, CakePHP 2 а также делится своим собственным модулем для фильтрации данных.
  • Геттеры и сеттеры — магия, которая должна знать свое место — Автор рассказывает, почему считает использование геттеров и сеттеров обычным способом не самой хорошей идеей, а также приводит пример когда они были действительно необходимы.
  • Строго типизированный JSON на PHP — Продолжение предыдущего поста о необыном использовании сеттеров.
  • Создаем конструктор запросов на PHP — Небольшая заметка о создании простого конструктора запросов.
  • Ваше первое знакомсто с Phalcon, 2 — Появившись совсем недавно, этот фреймфорк стремительно набирает популярность. Причины понятны: Phalcon написан на C и поставляется в виде нативного расширения для PHP, отсюда высочайшая производительность. Статья представляет собой отличный туториал от авторов фреймворка. В первой части описание и обзор возможностей, во второй — простое приложение-блог. Также по теме доступна статья на Хабре
  • Zend Framework Day 2012 — Совсем недавно в Киеве прошла конференция, посвященная Zend Framework и PHP. На сайте конференции доступны слайды докладов. Также имеется интересный отчет.

CMS/CMF

  • TYPO3 CMS 6.0 released — Вышла новая версия некогда популярной, но в последнее время непрерывно теряющей позиции, CMS. Посмотрим, может свежая версия изменит тенденцию.
  • Релизы плагинов для WordPress

    • bbPress — плагин позволяет создать полноценный форум на базе WordPress.
    • Knews Multilingual Newsletters — позволяет создавать качественные мультиязычные подписки.
    • WP Subscriber Form — добавляет форму подписки в контент.
    • BackWPup — позволяет создавать резервные копии базы данных и файлов вашего WordPress сайта.
    • Theme-Check — инструмент для разработчиков тем, позволяет автоматически проверять тему на соответствие стандартам.
    • WP SlimStat — простой, но мощный плагин аналитики.
    • Force Password Change — требует от пользователя смены пароля во время первого входа на сайт.
    • Batcache — позволяет использовать Memcached для кэширования отрендеренных страниц.
    • Edit Flow — предоставляет кастомные статусы, календарь, редакторские комментарии и другие возможности для облегчения совместного использования сайта на WordPress.
    • No Weak Passwords — запрещает использование слабых паролей.
    • Automatic Updater — автообновление плагинов, тем и ядра.
    • BuddyPress Media — позволяет пользователям загружать и делиться изображениями, видео и аудио с другими участниками социальной сети, построенной на BuddyPress.
    • Ice Visual Revisions — добавляет в редактор возможность визуального отображения разницы между ревизиями.

И напоследок

Ссылка на предыдущий выпуск.
Материал подготовили dbritan, nesttor и pronskiy

ссылка на оригинал статьи http://habrahabr.ru/company/zfort/blog/160929/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *