Сайты по CodeIgniter

Рубрика: MaxSite CMS -> CodeIgniter
Понедельник, 18 февраля 2008 г.
Просмотров: 4833
Подписаться на комментарии по RSS
]]>
]]>

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

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

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

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

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

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

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

]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

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

Вы можете получать новые комментарии к этой записи по RSS или оформить подписку на все комментарии сайта. Или даже на все новые записи сайта. (Не знаете, как это сделать?)
  1. 2008-02-18 в 19:24:50 | Sam

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

  2. 2008-02-18 в 20:51:30 | mr.petruccio

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

  3. 2008-02-19 в 00:40:41 | Владимир

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

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

  4. 2008-02-19 в 09:40:09 | Дима

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

  5. 2008-02-19 в 15:57:02 | Максим

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

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

  6. 2008-02-19 в 16:31:16 | Sam

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

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

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

  7. 2008-02-19 в 16:39:10 | mihailt

    То Максим:

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

    насчёт Сodeigniter:

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

    ;)

  8. 2008-02-19 в 18:00:49 | Максим

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

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

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

  9. 2008-02-19 в 18:10:22 | mihailt

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

  10. 2008-02-19 в 18:17:28 | Sam

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

  11. 2008-02-19 в 19:02:53 | Максим

    Ну проблема такая. Сейчас .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. 2008-02-19 в 19:29:57 | Максим

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

    $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";
    

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

  13. 2008-02-19 в 21:53:51 | mihailt

    А может так?

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

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

    $this->uri->segment() определять чего грузить? LOL

  14. 2008-02-19 в 22:29:46 | Максим

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

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

  15. 2008-02-19 в 22:36:42 | mihailt
    Поэтому и остается только разбирать uri...

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

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

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

    в _remap() ?

  16. 2008-02-19 в 22:45:13 | Максим

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

  17. 2008-02-19 в 22:46:44 | Владимир
    сайт/page/23 - метод «page», параметр «23». И вот если будет адрес сайт/23, то управление должно автоматом переходить к методу «page».

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

    Вместо

    $this->uri->segment()

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

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

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

  18. 2008-02-19 в 23:05:30 | Максим

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

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

  19. 2008-02-19 в 23:18:23 | mihailt

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

    matchbox

  20. 2008-02-20 в 00:52:11 | Владимир
    один запрос к БД...

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

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

  21. 2008-02-24 в 20:32:58 | Евгений

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

  22. 2008-03-07 в 03:09:26 | sand

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

  23. 2008-04-11 в 15:55:38 | mityok

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

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

  24. 2008-04-11 в 16:30:42 | mr.petruccio

    начинаем присоединятся

  25. 2008-06-07 в 15:36:09 | Diz A Torr

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

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

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

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

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

  26. 2008-08-01 в 12:47:10 | mishau

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

    Вот сайт.

    phpframeworks . com

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

  27. 2009-06-07 в 01:45:21 | Elena

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

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

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

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

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

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

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

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

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

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки. Если вы зарегистрированы в Твиттере, то перед логином укажите «@», например: @maxsite

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

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