Действительно ли CodeIgniter является мудрым выбором для крупных приложений?

Обратите внимание, что ord() не дает Вам значение ASCII по сути; это дает Вам числовое значение символа в любом кодировании, в котором это находится. Поэтому результат ord('ä') может быть 228, если Вы используете латинский 1, или это может повысить TypeError при использовании UTF-8. Это может даже возвратить кодовую точку Unicode вместо этого при передаче его unicode:

>>> ord(u'あ')
12354
23
задан VolkerK 22 July 2009 в 11:58
поделиться

2 ответа

У меня есть сайт codeigniter, содержащий около 11K файлов.

Я сильно изменил базовую структуру codeigniter для своих нужд. Например, у меня есть 3 приложения с 3 передними контроллерами, использующими одни и те же системные файлы. Я использую smarty в качестве движка для создания шаблонов. У меня есть богатые веб-приложения PHP, работающие на jquery и prototype / Scriptaculous. Я использую проверку формы, аутентификацию, активную запись, электронную почту и т. Д. И т. Д.

Мой опыт пока очень положительный.

Как только вы получите (настоящий) шаблонизатор, такой как smarty, подключенный к Codeigniter, у вас будет вся мощь, необходимая для средних и крупных сайтов.

Вы должны подумать об организации своего сайта в большие «метагруппы» как структура «контроллер» в Codeigniter ожидает такого поведения. ('блоги', 'товары', ' форумы и т. д.)

Для CI очень легко добавлять плагины.

Фреймворк упрощает множество ерунды, в противном случае вам пришлось бы вручную писать код. Это быстро, просто и настраивается.

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

Мой любимый аспект CI - это простота активной записи в MySQL DB. Крайне просто установить соединение с БД и запустить активные запросы записи.

Я бы сказал, что начать с этого довольно легко. Просто убедитесь, что вы ходите по магазинам и выясняете, как подключить smarty к своему приложению. Вы МОЖЕТЕ использовать представление Codeigniter по умолчанию, но в ту минуту, когда вам понадобится логика if / else в ваших шаблонах, вы облажаетесь.

Я настроил области «шаблоны» и «контент» в каждом приложении, которые я могу заполнить с умными шаблонами и статическим контентом соответственно. Остальное я могу извлечь из соединения с БД.

22
ответ дан 29 November 2019 в 01:58
поделиться

. Это действительно вопрос, на который можете ответить только вы. Когда вы говорите о «большой системе», вы можете иметь в виду что-то широко используемое (просмотры страниц и т. Д.) Или что-то, что включает в себя огромный набор бизнес-правил, но используется только несколькими людьми. Должно ли приложение быть быстрым, или вы можете сбалансировать его нагрузку на нескольких серверах?

Ваш комментарий «PHP - это фреймворк на C» довольно не в порядке, IMO. Нет, PHP не так быстр, как C. Но он НАМНОГО лучше справляется с веб-запросами. PHP используется на некоторых из крупнейших сайтов в мире - Facebook изначально был полностью написан на PHP. Yahoo довольно часто использует PHP. Таким образом, PHP достаточно быстр практически для всех, особенно с учетом того, что база данных почти всегда будет вашим узким местом. Если ваши PHP-приложения работают медленно, вы можете использовать memcache / балансировщики нагрузки / разместить больше серверов приложений в вашей сети. Довольно легко масштабировать часть PHP.

Я могу вам сказать краткое сравнение с другими фреймворками. Я использовал CI в ограниченных развертываниях, в основном помогая другим людям, но то, что я видел, мне понравилось. Это дает вам преимущество в скорости выполнения по сравнению с чем-то вроде CakePHP, но увеличит время разработки (поскольку самая большая сила Cake - это его способность быстро разрабатывать и развертывать). По скорости он довольно сравним с Zend или Symfony, что все еще примерно в 5-7 раз медленнее, чем просто писать необработанный PHP самостоятельно.

Подводя итог по различным фреймворкам (NB: мое мнение ниже):

  • CakePHP отлично подходит для быстрой разработки. Его производительность - худшая из основных фреймворков, хотя релиз 1.3 (скоро!) Должен дать вам бесплатное (без изменений в API, они просто удаляют поддержку PHP4) 25% прирост скорости. Он ориентирован на ActiveRecord и очень быстро запускает и запускает полнофункциональный сайт (серьезно, серьезно, это решения Rapid Development / Prototyping).
  • Zend является наиболее широко используемым. Он обладает наибольшей гибкостью при добавлении модулей. Он супербыстрый, но не особо легкий. Для корпоративного проекта я бы выбрал этот или symfony. Похоже на использование разных библиотек для меня. И их соглашения об именах немного обременительны ...
  • Symfony - см. Комментарии Zend. Хотя предполагается, что Symfony будет еще более предприимчивой.
  • CodeIgnitor - новый горячий ребенок на рынке. Он направлен на то, чтобы не мешать вам, оставаясь при этом «фреймворком», то есть инструментом, который поможет вам выполнять вашу работу быстрее. Он быстро запускается, но немного медленнее развивается.
20
ответ дан 29 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: