Работаю с Redis относительно недавно и вот возникла необходимость изменения одного ключа несколькими потоками одновременно. Для работы с Redis в php использую клиент Rediska. Еще когда читал мануал по Rediska видел раздел про транзакции, а сегодня пришло время почитать внимательнее.
Метка «PHP» - 46
Как же работают транзакции в Redis
2013-01-09 в 12:29, admin, рубрики: nosql, php, redis, rediska, Веб-разработка, транзакции, метки: PHP, redis, rediska, транзакцииИндексный доступ к Multibyte-строкам на PHP или изучение ООП на практике
2013-01-08 в 14:22, admin, рубрики: php, ооп, метки: PHP, оопПредыстория: вот, кажется, совсем недавно фирма, в которой я трудился Delphi программистом, издала последний вздох и развалилась. Юридически возможно и нет, но большое число сотрудников начало искать себе новое место работы, в том числе и я. Не буду дискутировать на счет востребованости сейчас desktop подхода, да и актуальности Delphi, но я решил воспользоваться сложившейся ситуацией для смены рода деятельности. А именно изучив предложения по трудоустройству в моем регионе (мелкий областной центр) я решил стать Web разработчиком на PHP. И в итоге мои НГ праздники прошли больше за книгой, нежели за праздничным столом.
Почти сразу я столкнулся с ситуацией меня немного смутившей: как язык, на котором крутится большинство сайтов интернета, в оном уже определилось абсолютное преимущество UTF-8, не имеет более-менее вменяемой его поддержки. Прочитав о стандартном методе решения – расширении mb_strings я успокоился, но некоторое неудобство в использовании оставило свой осадок. А именно: отсутствие метода доступа к символу как элементу массива и аналогов ряда стандартных функций в их мультибайт аналогах. Но задерживаться было нельзя, я и дальше штудировал литературу и по разным вопросам обращаясь к Google, но постоянно натыкался на топики начинающих о неудобстве работы с мультибайт строками и ожидании PHP6. Честно говоря, они мне даже поднадоели. Если в прямом виде аналогов в mb_strings нет, но все необходимое для собственной реализации было.
Читать полностью »
Дело было вечером, echo «было нечего»
2013-01-07 в 20:11, admin, рубрики: php, ненормальное программирование, особенности, метки: PHP, ненормальное программирование, особенностиДобрый день хабр. В статье я расскажу, как используя синтаксис php, можно написать функцию, для вывода переданной ей строковой переменной, не использующую в своем теле символы «a-zA-Z0-9<>?»
Вообще на хабре уже проскальзывали ссылки на статьи об использовании undefined variable, так что ничего нового я скорее всего не открою.
Читать полностью »
Спорт. Турнирные таблицы с личными показателями при равентсве очков
2013-01-06 в 13:34, admin, рубрики: php, python, sql, Веб-разработка, ооп, спорт, метки: PHP, python, sql, ооп, спортВкратце суть примерно такова: есть глобальные показатели (общие очки, общая разница мячей и т.д), но при равенстве глобальных показателей у группы команд используется подсчет показателей между этими командами. То есть понятно, что должен быть первый запрос, а заним второй запрос с горстью костылей. Чистый sql не пройдет, судя по всему.
Drupal: пишем свой парсер для Feeds
2013-01-04 в 11:48, admin, рубрики: drupal, drupal 7, Feeds, php, метки: drupal 7, Feeds, PHP Модуль Feeds является очень популярным среди Drupal-разработчиков. Но возникает вопрос, что делать если необходимо несколько расширить его функциональность. В этом нам поможет система плагинов модуля Feeds.
Существует 3 вида плагинов от которых необходимо наследовать новые:
- FeedsFetcher — плагин сборщика. Cтандартные: HTTP и File Upload. С помощью этого типа плагинов можно добавить новый источник данных.
- FeedsProcessor — плагин обработки сущностей. Cтандартные: Node processor, Taxonomy term processor, User processor. С помощью нового плагина можно добавить новый обработчик, который будет создавать особенные сущности, не вписывающиеся в стандартный набор.
- FeedsParser — плагин парсера. Стандартные парсеры в Feeds это XML, CSV и многие другие.
В этой статье я хотел бы остановиться именно на написании модуля парсера, так как довольно часто приходится иметь дело с импортом файлов со специфической структурой.
Читать полностью »
Пагинация страниц с помощью Ajax. Пишем компонент для Yii Framework. Часть 1 — Структура виджета
2013-01-02 в 15:23, admin, рубрики: ajax, html, javascript, php, yii, yii framework, Веб-разработка, метки: ajax, html, javascript, PHP, yii framework В первой части мы создадим виджет, который будет «жить» сам по себе, и не зависеть от проекта. Я имею ввиду, что у него будут свои css, js, рисунки и свое представление (вьюха). Для использования виджета необходимо добавить путь, где он будет лежать, в конфиг Yii (main.php) «раздел» import.
Читать полностью »
Скроллинг страницы вверх
2012-12-29 в 10:41, admin, рубрики: html, javascript, jquery, php, Веб-разработка, Песочница, метки: html, jquery, PHP С появлением удобной (на мой взгляд, на ваш может быть и нет) пагинции страниц с помощью скролинга (Scroll+Ajax), на многих сайтах, стало неудобно подниматься вверх (обратно к меню сайта), так как внедряя технологию некоторые программисты забывают о том, что меню сайта находится в шапке, и нет возможности быстро до него «достучаться». А ведь каждый знает, что одно из главных требований пользователей это удобство.
Расскажу как реализовать кнопку, при нажатии на которую пользователь поднимется вверх.
Читать полностью »
Лучшее в мире PHP за 2012 и дайджест интересных материалов за последние две недели №7 (15.12.2012 — 28.12.2012)
2012-12-28 в 15:04, admin, рубрики: composer, coroutine, phalcon, php, PHP-FIG, traits, yii, Zend Framework, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки, метки: composer, coroutine, phalcon, PHP, PHP-FIG, traits, yii, zend framework, Веб-разработка, дайджест, новости, подборка, ссылки
Следуя традиции, мы решили подвести итоги уходящего года и выделить самые значимые события в мире PHP, которых, к счастью, было немало. И, конечно же, подборка с ссылками на свежие материалы.
Приятного чтения!
Читать полностью »
Генерация аватарок средствами PHP, глаза
2012-12-28 в 9:38, admin, рубрики: images, php, метки: images, PHPКак сэкономить память, если нужно обработать большое количество объектов-моделей
2012-12-27 в 10:38, admin, рубрики: iterator, php, оптимизация, потребление памяти, метки: iterator, PHP, оптимизация, потребление памяти Пост навеян статьей Сколько памяти потребляют объекты в PHP..., размышлениями над самописной ORM и книгой Мэтта Зандстра «PHP. Объекты, шаблоны и методики программирования» (ISBN 978-5-8459-1689-1).
Мэтт в главе «Шаблоны баз данных» пишет о том, что если нужно создать несколько тысяч объектов из базы, то для экономии памяти, нужно решать эту задачу не «в лоб», а генерировать объекты по требованию, используя интерфейс Iterator.
Первая мысль была: «Если мы достали 5000 записей из базы, значит мы хотим все их как-то обработать, и какая разница. сразу будут созданы объекты или по требованию?», но потом понял — если вся работа с каждым объектом происходит внутри цикла foreach или while( next() ), то создание объекта по требованию и автоматическое его уничтожение на следующем витке цикла даст существенную экономию памяти. На деле оказалось — очень существенную.
Читать полностью »