Генератор форм для CodeIgniter

Создание форм – достаточно рутинная задача. Процесс подробно описан в документации, но можно легко сделать множество механических ошибок. Например, имена и id полей формы нужно указывать несколько раз - в контроллере и представлении.
Самое главное, что в некоторых случаях вы не получите сообщения об ошибках, а значит, найти их можно будет только с помощью тщательного тестирования. Речь идет о правилах проверки полей формы. Эти правила задаются в массиве, и при этом ключ элемента массива должен совпадать с id поля. Но если вы неправильно запишите название, то CodeIgniter будет считать, что для данного поля правила просто не заданы.
Естественно, что даже частичная автоматизация процесса может значительно сэкономить ваше время.
Сначала я пробовал использовать шаблоны для создания форм, но это было не удобно. Код должен быть размещен в разных файлах, да и количество и тип полей постоянно изменяются.
Поэтому я написал небольшой генератор форм для CodeIgniter.
Читать дальше »
Опубликовано в CodeIgniter, Web разработка | Комментарии (9) »
Кэширование части страницы в CodeIgniter

CodeIgniter имеет встроенную библиотеку кэширования страниц. Но она работает только с целыми страницами, т.е. вы не можете кэшировать часть страницы.
Представьте такую ситуацию. Большинство страниц сайта формируется на основе запроса пользователя, например, вы показываете результаты поиска. Кэшировать такие страницы нет никакого смысла, т.к. вероятность того, что посетители будут искать одно и тоже, довольно низкая.
В тоже время, на страницах могут находиться одинаковые блоки данных, например, в сайдбаре. Это могут быть различные виджеты, навигационные меню и т.п. И естественно на их создание тратятся ресурсы и в некоторых случаях довольно ощутимые, т.е. такие блоки можно и нужно кэшировать.
Специально для таких случаев я написал небольшую библиотеку (ссылка на архив с ней находится внизу страницы).
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (15) »
Облако тегов для сайта (кластеризация)

Не так давно я рассказывал о том, как создать простое облако тегов для сайта (блога) и думал, что обо всех основных принципах рассказал. Но неожиданно (для меня
) тема получила продолжение.
Началось все с комментария автора блога От новичка до профессионала (имени я, к сожалению, не нашел). Он рассказал, что написал похожий пост и от Сергея Олейника получил ссылку на очень интересную статью.
Я кратко поясню, в чем основной недостаток облака тегов. Представьте, что у вас есть парочка тегов, которые вы используете очень часто и несколько других тегов, которые встречаются от случая к случаю. Каким шрифтом будут написаны имена тегов?
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (8) »
Разработчики CodeIgniter вводят правила оформления кода

В документации к новой версии CodeIgniter 1.7 появился новый раздел General Style and Syntax (Общий стиль и синтаксис). В нем описаны рекомендации по оформлению кода при разработке с использованием CodeIgniter.
Релиз этой версии фреймворка еще не вышел. Поэтому скачать ее можно только из репозитория Subversion по адресу (http://dev.ellislab.com/svn/CodeIgniter/trunk/). А страница документации с рекомендациями находится здесь.
Пересказывать их все нет смысла. Большую часть этих правил и так все соблюдают. Но вот некоторые – довольно интересны. О них я и расскажу.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (13) »
Поддержка тем в CodeIgniter

Практически все современные CMS имеют поддержку тем. Т.е. вы можете создать несколько вариантов оформления ресурса и переключаться между ними. В этой статье речь пойдет о том, как добавить поддержку тем к фреймворку CodeIgniter.
Примечание. Если вы не знакомы с этим фреймворком, то сначала вам стоит почитать статью «Как создать свой сайт на PHP? Или зачем нужны фреймворки?».
Прежде всего, сформулируем задачу:
1) контроллер должен оставаться неизменным при использовании любой из тем;
2) файлы тем должны находится в отдельных папках;
3) минимальная нагрузка на систему (т.е. шаблонизаторы и дополнительные библиотеки не используем).
В принципе, поддержка тем изначально заложена в CodeIgniter. Если придерживаться архитектуры MVC, то весь код, связанный с отображением страниц, будет находиться в представлениях, а работа с данными и обработка запросов пользователя – в моделях и контроллере.
Отсюда вытекает простейший вариант решения задачи. Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (10) »
Ускоряем работу с CodeIgniter. Шаблоны для Eclipse.

В одном из прошлых постов я выкладывал свои шаблоны Eclipse для создания комментариев.
Сейчас я хочу поделиться другим набором. Он предназначен для работы с PHP фреймворком CodeIgniter.
Установка шаблонов стандартная.
1) Качаете архив с шаблонами (ссылка в конце поста) и распаковываете его.
2) Запускаете Eclipse и заходите в меню Window -> Preferences.
3) В левой части окна выбираем PHP -> Templates (см. скриншот).
4) После этого, нажимаете кнопку Import и указываете xml файл с шаблонами.
Читать дальше »
Опубликовано в CodeIgniter, Eclipse, PHP, Web разработка | Комментарии (3) »
Публикация постов в WordPress с помощью XML-RPC и CodeIgniter

Движок WordPress буквально «нашпигован» различными функциями и возможностями. В этой статье я расскажу, как написать небольшое web приложение, из которого вы сможете публиковать посты в ваш блог.
Как вы понимаете, писать такое приложение имеет смысл только в том случае, если оно расширяет стандартные возможности движка.
На мой взгляд, есть две области, для которых такие приложения подходят лучше всего.
Первая – это блог-клиенты. Тут преимущество в том, что вы можете писать пост без доступа в интернет и сохранить его на винчестере, а позже подключиться и опубликовать в блоге.
Вторая – различные программы для сеошников. Здесь смысл в том, чтобы публиковать посты автоматически в нескольких блогах.
Эта статья больше ориентирована на второй вариант.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка, WordPress | Комментарии (5) »
Inferno: подключаем сторонние библиотеки к CodeIgniter

Использовать библиотеки сторонних разработчиков вместе с фреймворком CodeIgniter в большинстве случаев не сложно. Достаточно, чтобы библиотека соответствовала небольшому перечню требований.
Для большинства библиотек это означает, что нужно править их исходных код. Изменений обычно не много, но они есть. И если вы решите обновить библиотеку, то их придется делать заново.
Избавиться от этой проблемы можно с помощью библиотеки Inferno. Ее предназначение – подключение сторонних библиотек к фреймворку.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментарии (14) »
Диаграммы взаимосвязей

Блог PHP::Impact опубликовал очень интересную подборку диаграмм.
Диаграммы отражают взаимосвязи между компонентами нескольких популярных php движков и фреймворков.
А именно:
WordPress 2.2.1
MediaWiki 1.12
phpBB 3.0
phpMyAdmin 2.9.1.1
Symfony 1.1
Zend Framework 1.5.2
CakePHP
CodeIgniter
Версии диаграмм немного отстают от последних релизов движков, но это не снижает их ценности. По-моему самое большое отставание у WordPress. 2.2.1 против 2.6. Особенно, если учесть, что в версию 2.5 были внесены довольно существенные изменения.
Глядя на диаграммы можно сразу выделить Zend Framework. Его структура явно сложнее большинства фреймворков. Хорошо это или плохо – вопрос философский
. Ответ будет зависеть от требований к конкретному проекту.
Самый простой - CodeIgniter. Отсюда высокая скорость, нетребовательность к ресурсам, легкость в изучении. Кстати, становится очевидной слабая связь (loose coupling) между его компонентами. Т.е. модули практически не зависят друг от друга, и загружаются, только когда вы их сами подключаете. Самое то для небольших проектов.
В общем, всем советую посмотреть эти диаграммы.
Спонсор поста:
Интересный Блог КОДера
Опубликовано в CodeIgniter, PHP, Web разработка, WordPress | Комментарии (5) »
Программирование на PHP. Подключаем FirePHP к фреймворку CodeIgniter

В этой статье я продолжу тему использования библиотеки FirePHP при разработке web приложений. Сегодня речь пойдет о подключении этой библиотеки к фреймворку CodeIgniter.Из предыдущей статьи вы, наверное, помните, что подключение этой библиотеки к обычному php скрипту не представляет сложности. С подключением к CodeIgniter ситуация немного сложнее, но прелесть ситуации в том, что основная часть работы уже сделана за нас.
Правда, есть несколько нюансов.
Читать дальше »
Опубликовано в CodeIgniter, PHP, Web разработка | Комментариев нет »




