Использование итераторов SPL в PHP, часть 1

Когда я впервые наткнулся на термин «итерация» и увидел огромное количество классов, связанных с этим термином, я опешил. Мне показалось, что всё это слишком сложно, чтобы разобраться. Но совсем скоро я понял, что «итерация» — это всего лишь умное словечко, чтобы описать то, что программисты используют каждый день.

Если вы PHP-разработчик, вы однозначно пользовались массивами. А если вы пользовались массивами, то ещё более однозначно, что вы выполняли перебор их элементов в циклах. Взгляните на любой кусок кода и с огромной долей вероятности вы увидите там цикл foreach. Так вот, итерация — это всего лишь процесс обхода списка значений, а итератор — это объект, который выполняет сам процесс, будь то обход массива, списка файлов или даже результатов выборки из таблицы БД.

Это первая часть и двухсерийной статьи. В ней я расскажу вам об итерации и о преимуществах использования некоторых классов Standard PHP Library (SPL). В SPL присутствует огромное количество итераторов и их использование во многих случаях может сделать ваш код эффективнее и читабельнее.

Итератор
Читать далее Использование итераторов SPL в PHP, часть 1

Функциональное программирование и PHP

Масса разработчиков программного обеспечения любят поговорить о функциональном программировании, однако если вы спросите их о том, применяли ли они его где-нибудь, в большинстве случаев в ответ вы получите «нет». Причина такой ситуации довольно проста. Когда мы учились программировать, разглядывая блок-схемы и размышляя о том, что и на каком шаге должна делать программа, мы выработали привычку мыслить императивно. В этой статье автор поделится с вами основными принципами, лежащими в основе функционального программирования, а также способами его применения в PHP.

PHP
Читать далее Функциональное программирование и PHP

Паттерн MVC и PHP, часть 2

Продолжаем нашу передачу. В этой части мы с вами продолжим обсуждать некоторые принципы, которым необходимо следовать, если вы решили использовать MVC-архитектуру при построении вашего приложения. Если вы нашли эту статью до того, как прочитали предыдущую часть, автор настоятельно рекомендует вам внимательно прочесть первую часть, чтобы ясно понимать о чём идёт речь здесь. Поехали.

PHP
Читать далее Паттерн MVC и PHP, часть 2

Паттерн MVC и PHP, часть 1

Паттерн Model-View-Controller (MVC), открытый в в конце 1970-х, представляет собой шаблон проектирования архитектуры программного обеспечения, основной задачей которого является отделение функций работы с данными от их представления. Теоретически, грамотно спроектированное MVC-приложение позволит фронтенд и бэкенд разработчикам в ходе работы не вмешиваться в зоны ответственности друг друга, то есть фронтенд-разработчику не понадобиться что-либо знать о «кухне» своего бэкенд-коллеги и наоборот.

Хотя изначально MVC был спроектирован для разработки десктоп-приложений, он был адаптирован для современных задач и пользуется у веб-разработчиков огромной популярностью, поскольку за счёт разделения ответственности стало возможным создавать более ясный, готовый к повторному использованию код. Паттерн MVC приводит к созданию ясных, модульных систем, что позволяет разработчикам очень быстро вносить изменения в существующий код.

В этой статье мы рассмотрим базовые принципы MVC, начав с определения паттерна и продолжив его применением в небольшом примере. Эта статья будет прежде всего полезна тем, кто ещё никогда не сталкивался с этим паттерном в жизни, а также, возможно, и тем, кто желает освежить в памяти знания об MVC.

PHP
Читать далее Паттерн MVC и PHP, часть 1

Glances: удобный мониторинг системы

Существующие утилиты для мониторинга системы, кажется, можно перечислять бесконечно. Несмотря на это, постоянно находятся энтузиасты, стремящиеся выразить свою точку зрения на способ наблюдения за жизнедеятельностью системы. В сегодняшней заметке я с удовольствием хочу представить вам интересное консольное решение на Python от французского разработчика NicoLargo.

Glances Logo
Читать далее Glances: удобный мониторинг системы

Android 4.x уже установлен на 42% устройств

Согласно последним новостям от Google, 42 процента устройств, использующих ОС Android, работают под управлением версий 4.0 и выше. И их число продолжает расти. На начало января этого года доля устройств с Android 4.x, работавших с Google Play, составила почти 40%. За январь доля Android 4.x выросла на 2.6%. При этом доля Android 4.0 «Ice Cream Sandwich» уменьшилась до 29%, а версий Android 4.1 и 4.2 «Jelly Bean» выросла с 10.2% до 13.6%.

Android Logo
Читать далее Android 4.x уже установлен на 42% устройств

Turpial — быстрый и удобный twitter-клиент

Намучившись в своё время с Gwibber, я надолго оставил затею читать твитленту при помощи десктоп-приложения. Собственно, уже и привык заглядывать периодически через веб, смирившись с тем, что адекватного клиента мне не найти. Пробовал ещё какие-то приложения с год назад, уже даже и не вспомню их названия. Да, Gwibber хоть и богат функциональностью, даже вон, в Ubuntu влез в качестве клиента по умолчанию. Всё бы ничего, но его тормоза и периодические мёртвые подвисания вызывали только недоумение решением разработчиков популярного дистрибутива включить эту сырую бяку по умолчанию в свой довольно отличный продукт. Хотя, вероятно, «на безрыбье» вариантов было немного. Собственно, сегодняшняя кратенькая заметка имеет своей целью помочь людям, получившим психическую травму в результате попыток отыскать человеческий твиттер-клиент для десктоп-окружения.

Turpial
Читать далее Turpial — быстрый и удобный twitter-клиент

Выпущена MySQL 5.6

Спустя два года после выпуска версии 5.5, разработчики Oracle выпустили GA (General Availability) версию СУБД MySQL 5.6 с номером версии 5.6.10. В версии 5.5 разработчики перешли на использование по умолчанию транзакционного движка InnoDB для таблиц, вместо устаревшего MyISAM. В новой версии InnoDB теперь наконец-то оснащён функциями полнотекстового поиска и сможет полностью заменить MyISAM.

MySQL
Читать далее Выпущена MySQL 5.6