Категории: CodeIgniter

Облако тегов для сайта (кластеризация)

Владимир | | CodeIgniter, PHP, Web разработка.

Не так давно я рассказывал о том, как создать простое облако тегов для сайта (блога) и думал, что обо всех основных принципах рассказал. Но неожиданно (для меня 😉 ) тема получила продолжение.

Началось все с комментария автора блога От новичка до профессионала (имени я, к сожалению, не нашел). Он рассказал, что написал похожий пост и от Сергея Олейника получил ссылку на очень интересную статью.

Я кратко поясню, в чем основной недостаток облака тегов. Представьте, что у вас есть парочка тегов, которые вы используете очень часто и несколько других тегов, которые встречаются от случая к случаю. Каким шрифтом будут написаны имена тегов?
Читать дальше

Разработчики CodeIgniter вводят правила оформления кода

Владимир | | CodeIgniter, PHP, Web разработка.

В документации к новой версии CodeIgniter 1.7 появился новый раздел General Style and Syntax (Общий стиль и синтаксис). В нем описаны рекомендации по оформлению кода при разработке с использованием CodeIgniter.

Релиз этой версии фреймворка еще не вышел. Поэтому скачать ее можно только из репозитория Subversion по адресу (http://dev.ellislab.com/svn/CodeIgniter/trunk/). А страница документации с рекомендациями находится здесь.

Пересказывать их все нет смысла. Большую часть этих правил и так все соблюдают. Но вот некоторые – довольно интересны. О них я и расскажу.
Читать дальше

Поддержка тем в CodeIgniter

Владимир | | CodeIgniter, PHP, Web разработка.

Практически все современные CMS имеют поддержку тем. Т.е. вы можете создать несколько вариантов оформления ресурса и переключаться между ними. В этой статье речь пойдет о том, как добавить поддержку тем к фреймворку CodeIgniter.

Примечание. Если вы не знакомы с этим фреймворком, то сначала вам стоит почитать статью «Как создать свой сайт на PHP? Или зачем нужны фреймворки?».

Прежде всего, сформулируем задачу:

1) контроллер должен оставаться неизменным при использовании любой из тем;

2) файлы тем должны находится в отдельных папках;

3) минимальная нагрузка на систему (т.е. шаблонизаторы и дополнительные библиотеки не используем).

В принципе, поддержка тем изначально заложена в CodeIgniter. Если придерживаться архитектуры MVC, то весь код, связанный с отображением страниц, будет находиться в представлениях, а работа с данными и обработка запросов пользователя – в моделях и контроллере.

Отсюда вытекает простейший вариант решения задачи. Читать дальше

Ускоряем работу с CodeIgniter. Шаблоны для Eclipse.

Владимир | | CodeIgniter, Eclipse, PHP, Web разработка.

В одном из прошлых постов я выкладывал свои шаблоны Eclipse для создания комментариев.

Сейчас я хочу поделиться другим набором. Он предназначен для работы с PHP фреймворком CodeIgniter.

Установка шаблонов стандартная.

1) Качаете архив с шаблонами (ссылка в конце поста) и распаковываете его.

2) Запускаете Eclipse и заходите в меню Window -> Preferences.

3) В левой части окна выбираем PHP -> Templates (см. скриншот).

4) После этого, нажимаете кнопку Import и указываете xml файл с шаблонами.
Читать дальше

Публикация постов в WordPress с помощью XML-RPC и CodeIgniter

Владимир | | CodeIgniter, PHP, Web разработка, WordPress.

Движок WordPress буквально «нашпигован» различными функциями и возможностями. В этой статье я расскажу, как написать небольшое web приложение, из которого вы сможете публиковать посты в ваш блог.

Как вы понимаете, писать такое приложение имеет смысл только в том случае, если оно расширяет стандартные возможности движка.

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

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

Вторая – различные программы для сеошников. Здесь смысл в том, чтобы публиковать посты автоматически в нескольких блогах.

Эта статья больше ориентирована на второй вариант.
Читать дальше

Inferno: подключаем сторонние библиотеки к CodeIgniter

Владимир | | CodeIgniter, PHP, Web разработка.

Использовать библиотеки сторонних разработчиков вместе с фреймворком CodeIgniter в большинстве случаев не сложно. Достаточно, чтобы библиотека соответствовала небольшому перечню требований.

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

Избавиться от этой проблемы можно с помощью библиотеки Inferno. Ее предназначение – подключение сторонних библиотек к фреймворку.
Читать дальше

Диаграммы взаимосвязей

Владимир | | CodeIgniter, PHP, Web разработка, WordPress.

Диаграмма взаимосвязей компонентов CodeIgniter

Блог 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) между его компонентами. Т.е. модули практически не зависят друг от друга, и загружаются, только когда вы их сами подключаете. Самое то для небольших проектов.

В общем, всем советую посмотреть эти диаграммы.

Спонсор поста:
Интересный Блог КОДера

Программирование на PHP. Подключаем FirePHP к фреймворку CodeIgniter

Владимир | | CodeIgniter, PHP, Web разработка.

Логотип для CI and FirePHP
В этой статье я продолжу тему использования библиотеки FirePHP при разработке web приложений. Сегодня речь пойдет о подключении этой библиотеки к фреймворку CodeIgniter. Из предыдущей статьи вы, наверное, помните, что подключение этой библиотеки к обычному php скрипту не представляет сложности. С подключением к CodeIgniter ситуация немного сложнее, но прелесть ситуации в том, что основная часть работы уже сделана за нас.

Правда, есть несколько нюансов.
Читать дальше

Как создать облако тегов для своего сайта на PHP

Владимир | | CodeIgniter, HTML, PHP, Web разработка.

Облако тегов

В этой статье я расскажу и, естественно, покажу пример создания облака тегов для сайта (блога). Основные инструменты – PHP и фреймворк CodeIgniter (подойдет любой другой).

Но, прежде всего, хочу поблагодарить Delchyve за идею.

Итак, переходим к делу.

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

Чтобы сфокусировать внимание посетителя на наиболее актуальных темах, размер шрифта тегов в облаке меняют в зависимости от количества постов, которые к нему относятся.

Если ваш сайт (блог) использует какую-нибудь CMS, например, WordPress, Joomla и т.п., то вы без труда найдете плагины, которые сами создадут облако тегов на основе ваших данных, а вам останется только разместить его в шаблоне сайта.

Но мы рассмотрим ситуацию, когда сайт пишется «с нуля» и вам нужно сформировать облако ручками 🙂 .
Читать дальше

PHP скрипт. Simple URL Checker — запуск проверок по расписанию

Владимир | | CodeIgniter, PHP, Web разработка.

Simple URL Checker - CRON
Приветствую всех!

Это заключительная статья о разработке web приложения, выполняющего проверку URL.

Примечание. Ссылки на предыдущие статьи этого цикла вы найдете здесь.

На данный момент у нас уже есть работоспособное приложение. Но запускать проверки мы можем только с помощью web интерфейса.

Естественно, гораздо удобнее выполнять проверки по расписанию, а потом периодически просматривать результаты.

И вот здесь возникает проблема. Мы не можем из командной строки вызвать метод ping, т.к. для этого нужно создать экземпляр класса контроллера (Main) и заодно инициализировать ядро фреймворка.

Вообще при работе с CodeIgniter все запросы отправляются скрипту index.php, а уже он в зависимости от полученных параметров инициализирует объекты и вызывает нужные методы.

Проблему можно решить несколькими способами.
Читать дальше