PHP CodeIgniter Framework - Мысли о разработке с ним? - PullRequest
1 голос
/ 20 марта 2010

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

Причина, по которой я склоняюсь к КИ, заключается в том, что до сих пор он выглядит наиболее подходящим для меня. Для этого не требуется постоянный доступ из командной строки (в настоящее время я использую виртуальный хостинг; проекты еще не требуют выделенного сервера), на сервере, на котором он работает, не нужно устанавливать ничего особенного (вы просто загружаете фреймворк в корень независимо от того, что вы разрабатываете), и у них, кажется, есть отличная документация, видео и учебные пособия о том, как начать работу.

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

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

Кроме того, если у вас есть какие-либо другие предложения по фреймворку PHP, я открыт для них.

Заранее спасибо за помощь!

-Sootah

Ответы [ 8 ]

5 голосов
/ 20 марта 2010

CodeIgniter был моим первым фреймворком. Это здорово, потому что у него сильное сообщество и отличная документация, но проблема в том, что он пытается сохранить обратную совместимость с PHP 4 и поэтому испытывает недостаток во многих «стандартных» функциях, которые имеют современные фреймворки, такие как автозагрузка. Кроме того, он поддерживается коммерческой компанией и совсем не часто обновляется.

Вот как вы загружаете модели, помощников и т. Д .:

$this->load->model('user');
$this->load->helper('array');

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

Введите Кохана . Kohana строго php5 и изначально была создана как форк CodeIgniter (раньше он назывался Blue Flame), но с тех пор она была переписана. На лицевой стороне сайта показана документация и загружаемые файлы Kohana 2. *, но я бы очень рекомендовал использовать новую ветку 3. *. Это намного чище, но официальные документы отсутствуют. Тем не менее, сообщество wiki отлично, и вы можете легко начать работу на этом сайте.

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

Исходный код Kohana также невероятно хорошо документирован и очень понятен. Когда вышла бета-версия Kohana 3, я изучил фреймворк, просто прочитав исходный код (вики еще не было). Я никогда не делал этого раньше, но у меня не было проблем сделать это только из-за качества кода.

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

3 голосов
/ 21 марта 2010

Я думал, что перезвоню здесь, будучи в том же месте, где вы были около 12 месяцев назад. Я прыгнул в CI и не оглядывался назад. Я ЛЮБЛЮ подход MVC CI - я никогда раньше не делал ООП, но CI действительно подчеркивает преимущества этого подхода. Неожиданное преимущество заключается в том, что я смог быстро адаптироваться к другим структурам ООП. Кроме того, их документация и форумы поразительны, что очень важно при принятии чего-то нового. Мне также нравится, как обрабатываются URL-адреса - очень чисто: domain.com/className/methodName, И вы также можете создавать собственные шаблоны маршрутизации.

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

В целом, мне нравится CI. Он призывает меня создавать более мощные и более эффективные веб-приложения - я призываю всех попробовать.

2 голосов
/ 20 марта 2010

Я был очень счастлив использовать CI для разработки двух довольно небольших веб-приложений.Работая с Ruby on Rails, аспекты CI в MVC было легко понять, хотя CI гораздо «слабее» фреймворка, чем RoR.Мне нравится CI, поскольку он хорошо организует ваш код, но в конечном итоге дает вам гибкость в работе с вашим кодом так, как вы считаете нужным.

Некоторые альтернативы, которые вы можете рассмотреть:

2 голосов
/ 20 марта 2010

Я использовал CodeIgniter для создания веб-сайта, который использовался как место, где игроки могли загружать пользовательские моды, которые они сделали для игры.Это позволило им входить в систему, загружать файлы, загружать, оценивать моды и делать другие подобные вещи.Я был очень доволен CI в целом, так как его было относительно легко настроить и научиться использовать, а также создавать очень чистый код.Ремонтопригодность тоже была довольно хорошей.Мне также понравилось, что это не заставило меня использовать MySQL относительно независимым от базы данных.

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

1 голос
/ 21 марта 2010

CodeIgniter очень полезен и очень прост в освоении. Это довольно просто, но это тоже может быть преимуществом. Я начал с этого, а затем пошел в Kohana 2.x, которая мне очень понравилась. Сейчас есть Kohana 3.x, но я не нашел четкой информации, как в предыдущей версии.

Я думаю, CodeIgniter сделает то, что вам нужно. Вероятно, вы должны начать играть с веткой 2.x (теперь в бета-версии). Если вы хотите что-то более сложное, я предлагаю вам рассмотреть Yii (www.yiiframework.com), которую я также изучаю прямо сейчас.

0 голосов
/ 11 марта 2011

К вашему сведению - Codeigniter 2.0 давно вышел и сделал много шагов, чтобы стать PHP5. Я построил несколько сайтов с ним.

0 голосов
/ 24 марта 2010
0 голосов
/ 21 марта 2010

@ Sootah

CI собирается отказаться от поддержки PHP 4 с CI 2.1.0. Поэтому старый код по-прежнему будет работать с 2.1.0, но новые функции больше не будут поддерживать PHP 4.

CI для меня лучший фреймворк PHP. Если вы собираетесь использовать PHP-фреймворк, используйте CI.

...