Дайджест интересных новостей и материалов из мира PHP за последние две недели №6 (01.12.2012 — 14.12.2012)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
PHP
- Под капотом объектов в PHP [9] — Отличная статья, подробно раскрывающая все особенности внутренней реализации объектов в PHP. Автор в деталях рассказывает о жизненном цикле объекта, как объекты хранятся в памяти, что такое '$this' и о многом другом.
- Почему многие ненавидят PHP? [10] — Автор дает развернутый ответ на данный вопрос, выделив несколько основных причин и подробно отвечая по каждому пункту. Причины, по мнению автора, следующие: несогласованные сигнатуры, PHP это HTML с логикой, отсутствие стандартов, отсутствие пакетов (менеджера зависимостей), неосведомленность о текущем состоянии PHP, элитизм («не использовать PHP это круто»).
- Почему я отказался от стандартов кодирования [11] — В своем посте автор приводит причины, по которым решил отказаться от стандартов кодирования, а также призывает других разработчиков пересмотреть процессы и, возможно, последовать его примеру.
- Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию? [12] — Отличное исследование, опубликованное на Хабре, по результатам которого очевидно, что использование 64-битной версии PHP не всегда оправдано.
Материалы для обучения
- Ускоряем PHP-разработку с помощью HipHop VM [13] — В конце 2011 ребята из Facebook анонсировали выход виртуальной машины Hip-Hop, реализующей подход JIT-компиляции для PHP. В данном посте рассказывается о последних обновлениях Hip-Hop VM, а также глубоко описаны некоторые детали архитектуры виртуальной машины и стратегии оптимизации.
- Standard PHP Library (SPL) — Часть 1: Структуры данных [14] — Хороший обзор SPL на Хабре. Ждем продолжения.
- Пример целого приложения на Phalcon PHP [15] — Демонстрация полноценного веб-приложения, полностью написанного на PHP фреймворке, поставляемом в виде нативного расширения. В данном примере авторы реализовали музыкальную библиотеку и демонстрируют работу фреймворка с большим объемом данных: > 5,000 Исполнителей, > 50,000 Альбомов, > 30,000 Тэгов, > 100,000 Треков > 200,000 Фотографий. Демо [16] и код [17].
- О шаблонизаторах [18] — Взгляд на шаблонизацию в веб-приложениях. Автор делает краткий обзор прошлого шаблонизации в PHP, а затем говорит о более современных инструментах, например Mustache и об их преимуществах.
- Итератор для провайдеров данных в Yii [19] — Полезный рецепт использования CDataProviderIterator для провайдеров данных, когда возникает необходимость обработать большие объёмы данных, но при этом загрузить все данные сразу в память не представляется возможным.
- Метапрограммирование на PHP [20] — В посте автор определяет, какие задачи может решать метапрограммирование и какие нет, а также, какие инструменты следует использовать на PHP для их решения.
- Внедрение зависимости на PHP [21] — Простая и понятная статья, в которой рассказывается, что же такое Dependency Injection. Приведен пример рефакторинга с использованием DI, перечислены преимущества и также типичные варианты использования.
- References [22] — Продолжение серии видео от Anthony Ferrara. На этот раз рассмотрены переменные и ссылки в PHP, их внутреннее устройство.
- Prepared Statements [23] — В этом видео Anthony Ferrara рассказывает базовые принципы Prepared Statements и о преимуществах их использования. Вся серия. [24]
- Инверсия управления [25] — В данном посте автор подробно рассказывает, что же такое Inversion of Control. Сначала расставляет точки над связью между DI и IoC, а затем, на примере блога, показывает преимущества использования инверсии управления.
- Обработка соединения с помощью драйвера MongoDB для PHP [26] — В статье рассматривается недавно вышедший драйвер MongoDB версии 1.3 для PHP. Приведено сравнение c обработкой соединения в предыдущей версии, рассмотрены продвинутые возможности нового драйвера. Рассмотрены практические примеры на PHP.
- Отправляем письма с помощью Swift Mailer [27] — Простой пример использования базовых возможностей (отправка текста, письма с приложением, шаблонизация) известной библиотеки для отправки писем.
- Автоматизация сборки с помощью скриптов в Composer [28] — Composer отличный инстурмент для управления зависимостями в PHP. Но это еще не все, что он умеет! В данной статье показано, как можно использовать Composer в качестве простого инструмента для автоматизации сборки.
- История любви к Silex — 'Embedded' PHP [29] — Автор рассказывает о своем первом опыте использования PHP-микрофрейморвка Silex. На реальном примере показано, как эволюционировал код в процессе развития проекта.
- Автоматизация с использованием триггеров MySQL [30] — Хотя перенос логики приложения в триггеры базы данных многие считают плохой идеей, тем не менее, существует ряд случаев, когда их использование оправдано и помогает решать поставленные задачи проще. В данной статье рассказывается о, собственно, триггерах, и приводятся примеры использования.
- Ошибки PHP: классификация, примеры, обработка [31] — Если вы опытный разработчик, то эта статья с Хабра поможет структурировать знания. Если же вы не так давно работаете с PHP, то этот пост даст исчерпывающий объем информации по теме ошибок в PHP.
- 5 вещей, которые не умеет делать CodeIgniter [32] — В посте автор перечисляет и описывает 5 основных возможностей, присутствующих почти в любом современном PHP фреймворке, но, которых пока нет в CodeIniter: пространства имен, автозагрузка, модульные тесты, миграции и абстрактный слой БД.
- PHPitfalls [33] — В посте автор аккумулировал свой опыт работы с PHP и привел множество полезных рекомендаций для разработчиков.
- Гид по кросс-доменному AJAX [34] — В посте автор рассказывает о трех основных способах реализации кросс-доменных запросов, а также о некоторых нюансах каждого: CORS, JSONP, Iframe.
- Приватные методы — «за» или «против»? [35] — По данной теме разразилась целая дискуссия. В ответ на свой пост автор получил волну комментариев и, в том числе, ответный пост от Anthony Ferrara [36]. После чего автор написал еще один пост в свою защиту [37]. И затем, известный деятель Drupal-сцены, Larry Garfield изложил собственное мнение по данному вопросу [38].
- Tweetable PHP-Non Alpha [39] — Интересный эксперимент, в котором автор пишет PHP скрипт без использования числовых и буквенных символов.
- The Underground PHP and Oracle Manual [40] — Ребята из Oracle обновили и выложили отличную бесплатную книгу, которая содержит уникальный материал по PHP-расширению OCI8 для работы с базой данных Oracle, а также по другим компонентам из экосистемы PHP-Oracle. В книге PHP-разработчикам показывается, как просто и эффективно использовать вместе PHP и Oracle.
CMS/CMF
Ссылка [6] на предыдущий выпуск.
Материал подготовили dbritan [58], nesttor [59] и pronskiy [60]
Автор: alexzfort
Источник [61]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/22651
Ссылки в тексте:
[1] Релиз WordPress 3.5: http://bit.ly/UhxJjH
[2] множеством изменений: http://wpcandy.com/presents/everything-we-know-about-the-new-wordpress-3-5/
[3] более 1 миллиона раз.: http://wordpress.org/download/counter/
[4] 9й выпуск журнала Web And PHP: http://bit.ly/Spx2sz
[5] В PHP 5.5 ext/mysql объявлен устаревшим: http://bit.ly/UM3K1D
[6] прошлом выпуске: http://habrahabr.ru/company/zfort/blog/160929/
[7] современные API для работы с MySQL: http://blog.ulf-wendel.de/2012/php-mysql-why-to-upgrade-extmysql/
[8] коммит: https://github.com/php/php-src/commit/b7091aaf0137d97cf4aa4a402ec50b3946d369c0
[9] Под капотом объектов в PHP: http://bit.ly/SWws2o
[10] Почему многие ненавидят PHP?: http://bit.ly/Uscz1K
[11] Почему я отказался от стандартов кодирования: http://bit.ly/Z5ZPpg
[12] Сколько памяти потребляют объекты в PHP и стоит ли использовать 64-битную версию?: http://bit.ly/UY0LaV
[13] Ускоряем PHP-разработку с помощью HipHop VM: http://on.fb.me/TSrJ0a
[14] Standard PHP Library (SPL) — Часть 1: Структуры данных: http://bit.ly/VGxnSW
[15] Пример целого приложения на Phalcon PHP: http://bit.ly/VGxuxG
[16] Демо: http://album-o-rama.phalconphp.com/
[17] код: https://github.com/phalcon/album-o-rama
[18] О шаблонизаторах: http://bit.ly/UhxyFc
[19] Итератор для провайдеров данных в Yii: http://bit.ly/12pPKS1
[20] Метапрограммирование на PHP: http://bit.ly/Y1Y1vS
[21] Внедрение зависимости на PHP: http://bit.ly/WbUd7f
[22] References: http://bit.ly/SWwl6R
[23] Prepared Statements: http://bit.ly/U0nXp7
[24] Вся серия.: https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW&feature=view_all
[25] Инверсия управления: http://bit.ly/SWwyXI
[26] Обработка соединения с помощью драйвера MongoDB для PHP: http://bit.ly/12dvPGw
[27] Отправляем письма с помощью Swift Mailer: http://bit.ly/UGjaXy
[28] Автоматизация сборки с помощью скриптов в Composer: http://bit.ly/TZ7vo5
[29] История любви к Silex — 'Embedded' PHP: http://bit.ly/UscET7
[30] Автоматизация с использованием триггеров MySQL: http://bit.ly/UscLhr
[31] Ошибки PHP: классификация, примеры, обработка: http://bit.ly/Z5ZT8x
[32] 5 вещей, которые не умеет делать CodeIgniter: http://bit.ly/UGjoOi
[33] PHPitfalls: http://bit.ly/VFAP0t
[34] Гид по кросс-доменному AJAX: http://bit.ly/QYHqpL
[35] Приватные методы — «за» или «против»?: http://bit.ly/UsdIGE
[36] ответный пост от Anthony Ferrara: http://blog.ircmaxell.com/2012/12/response-private-methods-considered.html
[37] пост в свою защиту: http://www.brandonsavage.net/in-further-defense-of-avoiding-private-methods/
[38] собственное мнение по данному вопросу: http://www.garfieldtech.com/blog/private-composition-inheritance
[39] Tweetable PHP-Non Alpha: http://bit.ly/12pQpCO
[40] The Underground PHP and Oracle Manual: http://bit.ly/SWwWp9
[41] Создаем модуль «Новая почта» для Magento: http://bit.ly/SZ9id9
[42] 2: http://bit.ly/RtMcNq
[43] Заставляем сайты на WordPress летать используя NGINX, PHP-FPM+APC и Varnish: http://bit.ly/Z6097j
[44] Вставляем виджеты с помощью шорткодов в WordPress: http://bit.ly/TSsdDE
[45] Как стать профессионалом высочайшего уровня по разработке на WordPress: http://bit.ly/12pPS3Q
[46] WP-Elasticsearch: http://bit.ly/SpzoYt
[47] Fast Secure Contact Form: http://bit.ly/W5ZQHZ
[48] HyperDB: http://bit.ly/12pR5Iq
[49] Fonts: http://bit.ly/Y20Ltd
[50] Authy: http://bit.ly/TSsJkU
[51] Authy: https://www.authy.com/
[52] Search Exclude: http://bit.ly/Z619s8
[53] GC Message Bar : http://bit.ly/12pR7A9
[54] Memory Load Consumption and db size Usage: http://bit.ly/W606GO
[55] Keyring: http://bit.ly/Y20Woy
[56] Rich Contact Widget: http://bit.ly/VGylOZ
[57] Schema Creator: http://bit.ly/UGkg5z
[58] dbritan: http://habrahabr.ru/users/dbritan/
[59] nesttor: http://habrahabr.ru/users/nesttor/
[60] pronskiy: http://habrahabr.ru/users/pronskiy/
[61] Источник: http://habrahabr.ru/post/162661/
Нажмите здесь для печати.