Разрабатываю проект на yii2, попутно изучая фреймворк, и не смог не поделиться одним из замечательных инструментов, который он представляет. Пост будет полезен тем, кто до этого с Pjax не работал. Опытным разработчикам, которые уделят посту время, буду благодарен за указание на неточности и дополнения, так пост станет полезнее и информативнее.Читать полностью »
Рубрика «php» - 165
Использование Pjax в Yii2 (краткий обзор)
2014-06-10 в 9:17, admin, рубрики: php, pjax, yii, yii2, метки: pjax, yii2По случайности, решил заглянуть на официальный сайт Ellislab, и обнаружил, что на прошлой недели вышла новая версия популярного фреймворка CodeIgniter. Официальный релиз CodeIgniter 2.2.0 был сделан 5 июня 2014. В своем небольшом посте, я бы хотел рассказать лишь об изменениях которые коснулись данного фреймворка.
DevConf::PHP 2014 — уже на следующей неделе. PHPNG, Laravel, Yii, Асинхронный PHP — будь в курсе новинок разработки
2014-06-04 в 12:25, admin, рубрики: devconf, laravel, php, phpng, pinba, yii, Блог компании DevConf, Веб-разработка, метки: devconf, laravel, phpng, pinba, yii
14 июня (суббота) 2014 — пройдет крупнейшая конференция по PHP, Python, Ruby, JavaScript, Android
62 доклада от авторов языков, баз данных и экспертов в WEB-разработке!
Впервые в России нам удалось собрать авторов MySQL, PostgreSQL, Percona Server, Sphinx, Tarantool в отдельном потоке DevConf::Storage — по сути это отдельная конференция по современным БД.
Поток PHP насыщен актуальными темами, который обязан знать каждый WEB-разработчик
- PHPNG — новый движок для старого php
- Laravel — Shawn McCool, Laravel core developer — самый «модный» фреймворк года!
- Yii 2.0, обзор — что творится в мире PHP: тренды, инструменты и фреймворки
- Архитектура AVITO.ru — самый крупная база объявлений, поглотившая конкурентов
- Codeception — тестируем с человеческим лицом
- Pinboard + pinba. Как организовать мониторинг сотни проектов
- PHPCI: Система непрерывной интеграции для PHP-проектов
- Асинхронный PHP — миф? Реальность!
- MySQL + HandlerSocket = NoSQL
Несколько слов о движке интернет-магазинов OpenCart
2014-06-03 в 12:00, admin, рубрики: opencart, php, Веб-разработка, интернет-магазины, метки: opencart, интернет-магазиныПредыстория
За всё то время, что я занимаюсь веб-разработкой, как-то не возникало необходимости написать, наверное, чуть ли не самый распространённый вариант заказов на биржах фриланса — интернет-магазин. К такой потребности пришёл только, собственно, с уходом во фриланс. Передо мной встал извечный вопрос — какой же движок выбрать. Довольно долго шерстил сеть, встречал различные комментарии, обзоры, сравнения на этот счёт, наконец плюнул и взял одно из довольно популярных, хотя часто не замечаемых в угоду более известных и навороченных конкурентов, решение — OpenCart. Взял и не пожалел. Обычно я жутко не люблю и не перевариваю различные ширпотребные CMS, но OpenCart оказался исключением. Не думаю, что моё описание будет сильно полезно профессионалам — мини-анализ рассчитан скорее на тех, кто точно так же пытается определиться, на чём писать, или кто просто ещё не пробовал.
Читать полностью »
Отладка электронной почты при помощи MailCatcher
2014-05-28 в 18:47, admin, рубрики: email, php, Веб-разработка, отладка
Вы используете в своем приложении электронную почту, не так ли? Это, в общем-то, риторический вопрос, конечно используете. Ей уже больше 30 лет, а это по прежнему самое популярное средство коммуникации на планете. Вот некоторые статистические данные от Pingdom:
- 2,2 млрд. — Количество пользователей электронной почты по всему миру
- 144 млрд.- Объем отправляемых электронных писем ежедневно во всем мире
- 4,3 млрд.- Количество почтовых клиентов во всем мире
Потрясающе!
Зачем нужна эта статья?
По одной простой причине, с которой мы все так или иначе сталкиваемся. Необходимо тестировать функционал как можно ближе к реальному применению, и любая ошибка может привести к тому, что наши клиенты получат тестовые письма, и это будет печально.
Я уверен, вы знаете о чем я говорю. Думая, что перевели приложение в режим отладки, вы запускаете тест, который отправляет письма из вашего приложения. Вы думаете что никто кроме вас не увидит эти письма.
Тесты проходят, вы хвалите себя и продолжаете работу. Но спустя некоторые время вы получаете звонок от своего заказчика. Он жалуется, что его клиенты получили странные. Он расстроен и хочет получит ответ.
Было такое? Не хочется, чтобы повторилось? Есть решение — MailCatcher. Если вы не слышали о нем то вкратце:
… Супер-простой SMTP-сервер, который перехватывает любое отправленное сообщение и выводит его в веб-интерфейсе. Запустите mailcatcher, в настройках вашего приложения укажите
smtp://127.0.0.1:1025вместо SMTP-сервера по умолчанию, и затем просматривайте почту, которая была отправлена по адресуhttp://127.0.0.1:1080
Неплохо звучит, верно? Независимо от того, устали ли вы, перегружены работой, есть ли новенький в команде или еще какая беда — MailCatcher гарантирует, что электронная почта останется в пределах вашей сети, или даже вашей виртуальной машины.
Сейчас я хочу показать вам, как настроить, запустить и использовать MailCatcher.
Читать полностью »
IMDB, «Зловещие Мертвецы» и немного Excel
2014-05-27 в 5:17, admin, рубрики: imdb, php, бюджет, открытые данные, фильмы, метки: imdb, PHP, бюджет, фильмы
В одном обсуждении с подругой фильмов у нас возник вопрос — а действительно ли «Зловещие мертвецы» (фильм 1981 года, а не недавний убогий ремейк ремейка… ремейк в квадрате?) для своего времени был очень дешевым, бюджетным фильмом, как часто упоминается в различных обзорах? Ну а любопытство ведь нужно удовлетворять… В качестве источника данных возьмём сайт IMDB.com, благо там часто можно найти строчку с бюджетом.
Читать полностью »
Инструмент для подсветки активного пункта простого HTML меню
2014-05-26 в 20:36, admin, рубрики: css, Git, github, html, open sourse, php, symfony, twig, меню, метки: css, Git, github, html, open sourse, twig, меню Чуть ли не каждое меню, прорисованное дизайнером в макете, имеет чуть иное отображения для текущего пункта меню, на котором в данный момент находится пользователь. Это элементарные приемы для повышения юзабилити. Чаще всего такие активные пункты меню стараются как то выделить цветом.
Читать полностью »
PHP + Java, или In-memory кластер теперь и для PHP разработчиков
2014-05-26 в 7:59, admin, рубрики: caching, cluster, highload, in-memory-data-grid, open source, php, высокая производительность, кеширование, кластер, кэшированиеIntro

PHP + Java. Картинка взята отсюда
В этом комментарии к статье под названием «Пишите код каждый день» я сказал, что скоро покажу свой проект, на который я выделял ежедневно 1 час (кроме выходных). Так как в последнее время моя работа связана с написанием распределенных Java приложений, которые используют in-memory data grid (IMDG) в качестве хранилища данных, то мой проект связан именно с этим.
Подробнее про IMDG можно почитать в моих предыдущих статьях (1, 2). Но если кратко, то это кластерное распределенное хранилище объектов по ключам, которое держит все данные в памяти, за счет чего достигается высокая скорость доступа к данным. Позволяет не только хранить, но и обрабатывать данные, не извлекая их из кластера.
И если интерфейс для обработки данных у каждого конкретного IMDG свой, то интерфейс доступа к данным обычно идентичен хеш-таблице.
О чем эта статья
Большинство IMDG написано на Java и поддерживают API для Java, C++, C#, при этом API для веб языков программирования (Python, Ruby, PHP) не поддерживается, а протокол для написания клиентов сильно ограничен. Именно этот факт я и считаю основным тормозом для проникновения IMDG в массы — отсутствие поддержки самых массовых языков.
Так как производители IMDG пока не предоставляют поддержку веб языков, то веб программисты не имеют возможностей по такому же легкому масштабированию приложений, какие есть у серверных Java разработчиков. Поэтому я решил сделать нечто подобное самостоятельно и выложить в open source, взяв в качестве движка open source IMDG JBoss Infinispan (компания JBoss, принадлежащая Red Hat, довольно хорошо известна в кругу java разработчиков). Мой проект называется Sproot Grid, пока доступен только для PHP, но если у сообщества будет интерес, то сделаю и интеграцию с Ruby и Python.
В этой статье я еще раз расскажу про in-memory data grid и про то, как конфигурировать, запускать и использовать Sproot Grid.
Читать полностью »
Отдай свой PHP на прокачку — PHPNG — движок нового поколения
2014-05-21 в 5:08, admin, рубрики: php, phpng, zend, Блог компании DevConf, Веб-разработка, вебразработка, конференция веб-разработчиков, метки: PHP, phpng, zend, вебразработка, конференция веб-разработчиковДмитрий Стогов — автор идеи нового движка PHPNG выступит с докладом на DevConf 2014.

Предлагаем Вашему вниманию интервью с докладчиком:
Читать полностью »
Сломайте SafeCurl и получите 0.25 Bitcoin
2014-05-20 в 16:08, admin, рубрики: bitcoin, contest, curl, php, информационная безопасность, метки: bitcoin, contest, curl, PHPРазработчик с ником fin1te пишет безопасную обертку над curl, которая позволяет защититься от SSRF-атак, и в связи с этим проводит контест: если вы сможете скачать файл btc.txt, который расположен на демо-сервере SafeCurl safecurl.fin1te.net и доступен только с source IP 127.0.0.1 и 37.48.90.196 (внешнего IP сервера), то вы получите доступ к кошельку, в котором находится B⃦0.25.
Уже совершено 3 успешных взлома:
- @zoczus обошел защиту, зайдя по
http://0.0.0.0/btc.txt - @47696d6569 и ryanc выполнили DNS rebinding, что позволило им загрузить файл с другого IP адреса, уже после прохождения валидации
- @shDaniell использовал уязвимость в парсинге URI, скачав файл ссылкой вида
http://user:pass@safecurl.fin1te.net?@google.com/

