MaxSite.org 11 лет
Блог вебмастера о сайтостроении
Внимание! Данная запись отмечена как устаревшая и может содержать неточную или неактуальную информацию!

Сайты по CodeIgniter

MaxSite CMS / CodeIgniterПросмотров: 27320 (240)

CodeIgniter - это PHP-framework. Считается одним из самых лучших на сегодняшний день. На мой же взгляд, самое важное, что CodeIgniter не застявляет жестко следовать какой-то своей структуре. Все это дает возможность разработчику в комплекте с существующим немалым функционалом CodeIgniter получить и необходимую гибкость. Делая свою CMS, я многократно в этом убеждался.

Но как оказалось, ресурсов по CodeIgniter не так и много. А еще меньше конкретных примеров использования. Поэтому я приведу ссылки на тех, кто занимается CodeIgniter. Возможно они вам тоже пригодятся.

Сайт simplecoding.org Стаценко Владимира. Много примеров и решений по CodeIgniter. насколько я понимаю, то Владимир какие-то примеры берет из хелпа (кстати очень неплохой!) и переводит это все на практические рельсы. И кроме всего прочего статьи комментируются и здесь тоже можно подчерпнуть полезные решения. Мне так удалось именно благодаря комментаторам решить несколько вопросов в своей CMS. smile

Следующий сайт, на который следует обратить внимание - Хроники php-разработчика. Тоже очень полезный ресурс, правда расчитанный на более подготовленного пользователя CodeIgniter.

Блог TermiT’s Blog Потапова Геннадия. Тут не так много информации по CodeIgniter, но всё-равно она может пригодиться. Пожалуй самое важное, что сделал Геннадий, так это собрал на одной странице ссылки на сайты по CodeIgniter.

Еще один блог Тыманчи Ыргын, где пошагово описан процесс создания полноценного блога на CodeIgniter. Опять же написано очень легко, подробно. Да и готовые файлы прилагаются.

К сожалению пока у CodeIgniter нет полноценного русского форума поддержки, но зато есть гугловская группа. Так что при желании можно вопрос задать в ней.

Комментариев: 27 RSS

1Sam18-02-2008 18:24

Кстати, очень приятно на англоязычном форуме.

2mr.petruccio18-02-2008 19:51

Спасибо, самому приходиться иметь дело с CodeIgniter, интересно будет почитать

3Владимир18-02-2008 23:40

Спасибо за ссылку на блог Тыманчи Ыргын.

Я его как-то ухитрился пропустить grin , а судя по названиям информация интересная. Почитаю.

4Дима19-02-2008 08:40

Максим, вот Вы и создайте первый сайт по CodeIgniter на своей cms, первое хорошо потестите, а во вторых всем будет яркий пример по функционалу.

5Максим19-02-2008 14:57

Дело в том, что CodeIgniter не нуждается в описании функционала. У него есть отличный хелп и любой, кто имеет какие-то знания в PHP, может после недолгого изучения сделать что-то своё. Чего реально не хватает, так это примеров реализации. Для меня самого стало большой неожиданностью, что CodeIgniter не просто упрощает, а значительно упрощает программирование. Например я несколько дней «готовился» к подключению xmlrpc к CMS, представляя сколько мне придется программировать(!), а реально же получилось всего несколько строк кода.

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

6Sam19-02-2008 15:31

На англоязычном примеров много. И обсуждение бурное.

Есть также в русской гугль-группе прилично.

Так вообще я бы не отказался от чего-то вроде http://cake-php.ru/. Если найдутся желающие делиться информацией, можно будет скооперироваться и созадть нормальное русскоязычное коммьюнити, ну или хотя-бы коллективный CI вики-блог.

7mihailt19-02-2008 15:39

То Максим:

а как вобще продвигается создание cms? демку в онлайн ставить будете? было бы очень интересно посмотреть smile

насчёт Сodeigniter:

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

;)

8Максим19-02-2008 17:00

Я в начале хотел именно на cake сделать, но провозился несколько дней, так и не осилил... Для меня он как черный ящик - нет ясности того, что в нем происходит. C CodeIgniter, наоборот все оказалось просто и ясно. Хотя, конечно какие-то вопросы остались, вроде настройки роутера (пока сделал бульдозером - в .htaccess прописал основной контролер).

Ход работ я описываю вот здесь: http://code.google.com/p/maxsite/wiki/roadmap

Выкладывать, да буду (как минимум для разработчиков). Просто сейчас нужно всё-таки доделать самое основное до минимального рабочего сайта. Дальше уже коллективно отлинчевать, исправить и двигаться дальше. :wink:

9mihailt19-02-2008 17:10

а что за проблема с роутером? поделитесь может чего придумаем ;)

10Sam19-02-2008 17:17

Я таки разобрался с внутренностями Cake. Так же наворочено, как и в CI.

11Максим19-02-2008 18:02

Ну проблема такая. Сейчас .htaccess такой:

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/maxsite/$1 [L,QSA]

То есть управление в любом случае передается на контролер maxsite. Мне кажется, что это как-то некрасиво и было бы правильней сделать это через роутер с расчетом на то, что разработчик сможет (опять же через правило роутера) придумать свой контролер вместо моего.

Далее. Нужно придумать как-то сделать через роутер дефолтный метод для каких-то типов данных. Вот пример: сайт/page/23 - метод «page», параметр «23». И вот если будет адрес сайт/23, то управление должно автоматом переходить к методу «page».

12Максим19-02-2008 18:29

Добавлю. Последний вариант роутера был такой:

$route['([0-9A-z]+)'] = "maxsite/$1";
$route['([0-9A-z]+)/([0-9A-z]+)'] = "maxsite/$1/$2";
$route['([0-9A-z]+)/([0-9A-z]+)/([0-9A-z]+)'] = "maxsite/$1/$2/$3";

(Параметров по-идее может передаваться больше.)

13mihailt19-02-2008 20:53

А может так?

$route[':any'] = "maxsite";

и дальше в самом контроллере _remap() и в нём при помощи

$this->uri->segment()

определять чего грузить? LOL

14Максим19-02-2008 21:29

Так работать не будет. _remap() всегда будет получать дефолтный метод index. Поэтому и остается только разбирать uri, чем теряется автовыполнение методов в CodeIgniter. Смысл лишаться такой возможности?

У меня _remap() используется для page_404 - код я у Владимира в комментариях приводил. В принципе через него можно сделать дефолтным и page... Подумаю, тут зависит от того, как будут короткие ссылки организованы. :idea:

15mihailt19-02-2008 21:36

Поэтому и остается только разбирать uri...

Ну я это в принципе и предложил smile

Идея появилась и гуд.

Кстати кто тебе мешает замутить библиотеки для проверок и вызывать их

в _remap() ?

16Максим19-02-2008 21:45

Ну примерно так и сделано. ;) Если метод (из uri) не отработал, то выполняется page_404() и уже в нем смотрится файл с именем метода-uri. Если есть - подключается. Если нет, то выводится сообщение 404.

17Владимир19-02-2008 21:46

сайт/page/23 - метод «page», параметр «23». И вот если будет адрес сайт/23, то управление должно автоматом переходить к методу «page».

А если метод будет другой? Т.е. можно ли по значению параметров или их количеству определить нужный метод?

Вместо

$this->uri->segment()

удобнее использовать

$pars = $this->uri->segment_array(); call_user_func_array(array($this, $method), $pars);

(если нужно просто передать параметры)

18Максим19-02-2008 22:05

Метод, кстати может, действительно быть другим. Задумка такая. Есть куча типов страниц - они определяются методом (page, category, tag и т.д.). У этих страниц может быть короткая ссылка (slug), так же как это задается в WordPress. Так вот, когда явно не указывается метод, то нужно будет по этому slug найти «свой» метод. Само по себе это не сложно - один запрос к БД...

Да, через page_404() это сделаю... :idea:

19mihailt19-02-2008 22:18

кстати, вопрос ты Matchbox используешь? просто судя по задумке он бы тебе пригодился ;)

matchbox

20Владимир19-02-2008 23:52

один запрос к БД...

Похоже, так и придется делать. Если пользователи смогут менять короткую ссылку как в WP, т.е. изменять количество сегментов, то ИМХО самый логичный вариант - запрос к БД + remap.

Плохо представляю как это можно сделать с помощью роутера или htaccess (разве что перезаписывать их при изменении ссылок или формировать настройки роутера по данным из БД)

21Евгений24-02-2008 19:32

Есть сайт с документацией на русском языке http://code-igniter.ru

22sand07-03-2008 02:09

Никогда об этом не слышал. Было бы не плохо побольше осветить эту тему. Буду благодерен за подробную информацию.

23mityok11-04-2008 14:55

Недавно сделал сайт для сообщества - codeigniter.org.ru.

Сообщество пока не подключилось, веду сам.

25Diz A Torr07-06-2008 14:36

Можно наверное добавить еще один сайт.

Вот тут вот, собираюсь публиковать материалы о программировании на РНР с использованием CodeIgniter и о JQuery. Оба этих фреймворка идеально подходят друг к другу.

http://unicorn.e-nk.ru/doku.php/personal:start

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

Пока выложил одну статью, об использовании супер модели.

26mishau01-08-2008 11:47

Смотрел сравнительные характеристики фреймворков и обнаружил, что у CI не поддерживаются модули. Может я с терминологией немного не владах?

Вот сайт.

phpframeworks . com

Я выбираю фреймворк, и как раз хотел изучить CI из-за наличия документации, но что здесь имеется в виду под модулями? Почему написано, что они не поддерживаются. Пока непонятно.

27Elena07-06-2009 00:45

Codeigniter - очень рекомендую.

Переделывала одно из написанных веб-приложений для отслеживания отправленных и полученных заказов для компании, и писала с нуля для локальной сети каталог клиентских заказов с базой данной на более 50тыс заказов за несколько последних лет, поиск, пополнение, редактирование и проч. CI, Jquery, AJAX.

Также дописываю еще один небольшой сайт CI + Jquery - никаих проблем.

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

Codeigniter постоянно обновляет свое очень подробное и более чем понятное руководство. (Если вы занимаетесь программированием то английский язык это ваш хлеб и не читать по английски - это по крайней мере странно.)

Очень удобно реализованы sql запросы и очень хорошо реализована модель MVC - несказанно облегчает жизнь.

Очень удобна локализация - всего лишь один языковой файл с константами и ваше приложение заговорит на любом языке.

http://bambooinvoice.org/ - тут неплохой пример реализации, хотя на мой взгляд код и не очень аккуратный, можно скачать, установить и посмотреть внутренности.

Оставьте комментарий!

Комментарий будет опубликован после проверки. Вы соглашаетесь с правилами сайта.

(обязательно)

О сайте

Здесь вы получите самую полную информацию о создании сайтов на MaxSite CMS.