Тестовое задания для программиста PHP + MongoDB

2015-09-26 в 15:39 PHP MongoDB

Очень небольшое тестовое задания для оценки навыков программиста среднего уровня владения PHP и работы с MongoDB.

PHP MongoDB


Кастомизация форм на JavaScript – пишем свой autocomplete

2015-06-09 в 01:13 JavaScript jQuery Widget Projects

Казалось бы, куда еще один?! Но вот встала задача у меня – иметь в проекте один универсальный автокомплит, который можно навесить на input или на select, без лишнего кода подгружать данные через ajax. И при этом иметь гибкость, в плане возможности выбора пользователем нескольких значений, ввода значений, не предусмотренных в списке и прочие плюшки, настраиваемые с помощью опций. А главно, чего не хватает во многих подобных виджетах - простая и полноценная кастомизация выпадающего списка с опциями (как на картинке).

Итак, приступим к написанию, в статье будет довольно подробно описан процесс создания плагина на базе jQuery без использования widget фабрики из jQuery UI. Я назвал его Meta Input, т.к. сейчас работаю над проектом под кодовым названием Meta и в нем мне понадобился подобный виджет.

Meta Input


PHP + Captcha - автоматизируем защиту форм

2015-05-28 в 01:05 PHP Captcha

Одна из нетривиальных задач в реализации надежного и комфортного в поддержке веб-проекта – защита и ограничние принимаемых от пользователей данных.

Часто для этого применяется механизм защиты с помошью captcha (каптчи) [Completely Automated Public Turing test to tell Computers and Humans Apart]. Изначально задача каптчи – это защита от ввода данных с помощью компьюетра с использование специально обученного скрипта. И в большинстве случаев – это достаточно надежный механизм. Механизму сто лет в обед, поэтому статья, конечно посвящена не написанию очередног генератора каптч.

Здесь я попробую решить попутную, достаточно занудную задачу – как определить, что к нам начал "стучаться" робот, а не обычный человек. Ведь мы не хотим лишний раз создавать неудобство своим пользователям и заставлять разгадывать каптчи. Итак, попытка создать универсальный простой механизм для защиты определенных мест в своем PHP-проекте, будь то форма аутентификации или форма обратной связи.

Universal captcha protector. PHP каптча


Часть 6. Bun Framework MCV - архитектура runtime php-приложения

2015-02-19 в 00:07 Bun Framework PHP

В предыдущих статьях я рассказал о создании базовых компонентов для своего фреймворка: модуль конфигурации приложения, компоненты http: Request & Response, а также интересный компонент – Dependency Injection Container – который позволит нам управлять зависимостями в приложении. Далее, чтобы наше приложение могло что-то делать, необходимо создать компоненты фреймворка, которые отвечают непосредственно за runtime приложения. У нас уже есть класс Bun\Core\Application, который принимает все стартовые запросы нашего приложения, далее мы сделали компонент Router, который позволяет определить какую конкретную функцию приложения вызвал пользователь. Далее нам нужен набор копонент MVC – который позволит непосрдетсвенно реализовать эту самую функцию приложения. Первым компонентом будет Controller - класс, котоому предается управление непосредственно после запуска приложения. Контроллер будет иметь доступ к слою Model (модели), чтобы работать с данными, и также с слою View (отображение) – чтобы отображать информацию для пользователя. Как правило в php-приложениеях в практике MVC под View чаще всего понимаются шаблоны (Templates).
Начнем с того, что представим небольшую схему runtime нашего приложения, основанного на Bun Framework. Bun Framework Runtime


Часть 5. Bun Framework :: Dependency Injection Container

2014-06-05 в 20:08 Bun Framework Dependency Injection PHP

Мы уже создали достаточно функциональых компонетов фреймворка, чтобы задуматься о том, как мы будем их инициализировать, использовать и управлять зависимостями между ними. В предыдущих статьях был разработан компонент конфигурации фреймворка, набор компонентов Http: Request & Router. Класс роутер у нас получился зависим от конфигурации и класса запроса. В этой статье я раберу на примере Bun Framework. Создание и тестирование небольшого но полноценного сервиса, который будет управлять зависимостями в PHP-приложении.

Dependency Injection Container


Часть 4. Bun Framework - HTTP-компоненты + Router

2014-06-04 в 20:27 PHP Bun Framework HTTP Router Projects

В предыдущих частях было описано создание окружения для разработки фреймворка, а также разработан компонент конфигурации приложения и фреймворка.

Теперь, как и было обещано, переходим к разработке компонетов HTTP: Request и Response – которые будут абстрагировать нас от обработки глобальных переменных HTTP-запроса (или cli запроса), а Response — от вывода результата (HTTP-ответа или вывода в консоль). По поводу работы фреймворка через консоль, я напишу отдельную статью (или несколько), так как это того заслуживает, пока что поставим TODO в тех местах в приложении, где это будет требоваться.

Bun Framework HTTP Component


Часть 3. Bun Framework – конфигурация приложения

2014-06-01 в 04:51 Bun Framework PHP PHPUnit

Продолжаем серию статей по разработке Bun Framework. После того, как мы подготовили рабочий "скелет" приложения нашего фреймворка, переходим к неотъемлемой части всех веб-приложений – конфигурации. Ранее я уже упоминал, что модуль Bun\Core\Config войдет в ядро фреймворка, и кроме того в этой статье я затрону базовые зависимости модуля конфигураций: абстракция работы с файловой системой или типизированные исключения. И на последок в данной статье для проверки работоспособности написанного модуля я покажу простой пример организации unit-тестов написанного компонента фреймворка.

Bun Framework config


Часть 2. Bun Framework – настройка окружения и запуск скелета

2014-05-28 в 15:02 Bun Framework PHP Projects

Я не сразу перейду к разработке непосредственного самого фреймворка, а сначала посвящу небольшую статью настройки окружения и среды разработки на PHP, которую я буду использовать. Далее я поделюсь как и какие программы использую в работе, как настраиваю среду для работы проектов, какие сервисы использую для хранения кода и т.п.

Bun Framework environment


Виджет выбора кода страны при вводе телефона на jQuery

2014-05-28 в 00:16 JavaScript jQuery Projects Widget

Отвлечемся от разработки PHP фреймворка на создание небольшого интересного jQuery UI виджета. Для тех, кто любит приукрасить свой сайт красиво-полезными примочками, или кому по работе сумасшедшее начальство просит сделать очередную неведомую хуйню – данная статья может быть вполне полезна. Итак пишем виджет для поля ввода телефонного номера с красивым выбором кода страны (прям как в скайпе, только лучше)

skype phone number widget


Часть 1. Разработка PHP-фреймворка :: Начало

2014-05-26 в 19:10 PHP Projects Bun Framework

Первая статья о разработке собственного фреймворка будет посвящена обзору основных намеченных возможностей и архитектурных особенностей нового фреймворка. Здесь я опишу модули и компоненты, разработка которых будет описана подробно в следующих статьях. Итак, определимся, как мы организуем код фреймворка и приложений, которые его будут использовать, и далее накидаем roadmap разработки основных компонентов.

Bun Framework development start


Загрузка...