Обновить
Комментарии 64
всё у CI хорошо, и со стабильностью, и с поддержкой
Вот только обновляется он раз в несколько лет. :) И функционал у него детский по сравнению с другими фреймворками.
зато документация великолепная. изучать c нуля — одно удовольствие. а функционала для «сайта из нескольких страниц» за глаза хватит
А готовые решения (CMS) не рассматривали? Наверняка задачи типичные. А то специально изучать фреймворк…
нет, мне нужен именно фреймворк, у CMS придется много отпиливать и переделывать
Монетку брось.

А в действительности у тебя в двух третях вопросов нет опыта вообще. Следовательно, даже если тебе скажу Yii, то придётся его учить. Тут два варианта. Либо ты удаляешь топик и на неделю уходишь учить всё вышеперечисленное, делая попеременно тесты; либо же тебе будет лень учить то, что ты не знаешь и сделаешь на том, что знаешь. Следовательно, вывод очевиден. Либо сам делаешь и тестируешь, если не лень, либо пишешь на том, что знаешь.
Это тебе сводка из прошлых аналогичных топиков, которых тут было уже десятка два. Юзай поиск.
если нет опыта, то лучше что нибудь простое
Yii и Kohana вполне подойдут и с поддержкой и стабильностью у них все в порядке
С каких пор Yii стал простым? o_O
про Yii уже почитал документацию, в действительности он не очень сложный и если (я повторюсь) он самый модный :), то можно и его выбрать
Yii сложнее чем CI, но ненамного, а вот функционалом CI не блещет.
Видимо у нас разные понятия о «ненамного» =))).
По поводу CI — не жалуюсь. Сделал уж много разных проектов на CI, проблем не возникало.

P.S.: ActiveRecord/ORM и т.д. — не использую, не нравится.
НЛО прилетело и опубликовало эту надпись здесь
Поддерживаю — сам пользую Кохану уже полгода, выбрал именно из-за MVC. Документация на сайте хотя и не полная, но достаточная. Плюс активный форум.
топик я написал как раз с той целью, чтобы послушать, чем кто пользуется… когда-то писал небольшой проект на CodeIgniter и думал о нем, а сегодня узнал, что на базе него создали Кохану и лучше использовать её
У Коханы чистый PHP5, в отличие от CI. Если на хостинге PHP4, Кохана не подойдёт.
Коханы сейчас тоже две: 2.х (похожая на CI) и 3.х (по моему мнению абсолютно другая). Сейчас сам перехожу с CI на KO3…
3.x уже stable? на сайте только 2.3.4 предлагают скачать
Писал(тестировал) на всех перечисленных framework`s, на некоторых по 3-4 проекта было сделано.
Но в итоге отдал предпочтение, около года назад, в пользу yii и ещё не разу не пожалел об этом.
Перечислят его плюсы по сравнению с другими, не вижу смысла, так как сравнений его с другими в инете можно найти валом.
Но как говорится: " на вкус и цвет....", так что, если опыта нет, то советую попробовать несколько и выбрать тот что ближе именно вам.
в перспективе мне несколько сайтов именно на PHP нужно будет создать, поэтому может быть стоит потратить время и изучить, например yii
4) без фреймворка, использовать какую-нибудь ORM

за: серверу будет легко.

интересный вывод
без фреймворка, соответственно без обработки запроса через несколько классов, требования к памяти будут ниже
А зачем ORM, если сайт очень простой, как вы говорите?
Если бы у PHP была возможность работы с базой без написания «INSERT INTO ...+ value1 + »," + value2, то скорее всего выбрал бы native PHP, а так мне свой класс для работы с базой неохота писать
А взять готовый? На dklab.ru, например?
спасибо за ссылку — посмотрю
честно — не знаю, может быть и подойдет, сейчас почитаю документацию
почитал про PDO — если не брать в расчет все остальное, а только работу с базой — то PDO то, что нужно
PDO по-моему вполне на уровне JDBC. Если не хватает — смотрите Doctrine.
Негативные воспоминания трехлетней давности, добавил поле в таблицу — приходилось пересобирать исходники командой типа

symfony add-field

и хоть может быть сейчас все поменялось, но symfony точно не мой выбор
Ну пересобрали. И что? Если нормально писать код, то это никак не будет влиять на проект.
Какбе за три года там очень многое поменялось. А вообще предполагалось, что разработчик будет использовать fixtures. Добавил поле — фикстуры править не нужно, перезальётся и так (если оно не notnull); удалил поле — переписал фикстуру. Затем перестроил БД и перезалил данные из фикстур. Вуаля.
Вопрос выбора фреймворка немного религия :) и симфонию я могу добавить как вариант, но я точно знаю, что не выберу, причем аргументы уже будут религиозного порядка :)
В принципе, да — не выбирайте. Там порог вхождения высокий, много читать нужно. И приёмы работы трёхлетней давности почти не годятся.
[offtopic]Кстати, а почему религия?[/offtopic]
CodeIgniter или Kohana? Конечно, Kohana!

— почему?
— Kohana поддерживает только PHP5, значит у нее код чище, кошернее :)
Да не про это я. Почему «вопрос выбора фреймворка немного религия :)»? Не CI vs Kohana, а фреймворка вообще?
немного религия, потому что все фреймворки не видел, не работал с ними и поэтому оценка идет по разным косвенным показателям
Автор! Рискую быть жестко заминусованым тобою, но мне насрать, что я увидел в топике, ты не очень в теме :)

А вообще давай поговорим и натему религии. Да и в symfony уже не то что 3 года назад :)) Мое мнение symfony на данный момент самый магический(сплошная магия) фреймворк для и на пыхе! Этакой пыхный РОР!
1. я не хочу сравнивать PHP и другие языки — те проекты, для которых я выбираю framework, должны быть на PHP (требование Заказчика) и соответственно можно сказать что других языков нет

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

@Import Namespace=«System.Data»
@Import Namespace=«System.Web»
@Import Namespace=«System.Collections»
@Import Namespace=«System.Data.SqlClient»
@Import Namespace=«System.IO» %>
@Import Namespace=«System.Text.RegularExpressions»
@Import Namespace=«System.Web.Mail»
@Import Namespace=«System.Security.Cryptography»
@Import Namespace=«System»
еще строчек 20

и мне кажется, что симфония (пусть это 3 летней давности воспоминания) требует много строительного кода, хотя может я и не прав

3. Выбор я свой сделал в пользу Zend'a :),… на решение повлияло то, что можно поставить opcode cacher и забыть про размер фреймворка

4. и да, моя обычная разработка идет вне PHP, так что я не очень в теме
IMHO Symfony строительного кода требует не больше чем Zend.

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

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

Так выпьем же за то, что бы Вы пользовались фреймоврками в которых есть сердце:))
Ничего там магического нет. Читайте код. Ручной работы с symfony существенно меньше — это да.
Как все жестоко звучит o_O
Ну откуда я знаю «почему»? Но для себя уже решил, что после

1. добавил поле в таблицу — приходилось пересобирать исходники командой типа symfony add-field
2. Добавил поле — фикстуры править не нужно, перезальётся и так (если оно не notnull); удалил поле — переписал фикстуру. Затем перестроил БД и перезалил данные из фикстур.

симфони точно трогать не буду… Как говорится, на вкус и цвет все карандаши разные…
Это нормальный workflow разработчика. На production эти изменения накатываются при помощи миграций, и ни о каком удалении БД с живыми данными речь не идёт.

Вообще же судить о инструменте по некомпетентным высказываниям я считаю опрометчивым.

А вообще вы забавный — сначала говорите «Как все жестоко звучит o_O»; а в ответ на закономерное «Почему?» выдаёте «Откуда я знаю?».
>А вообще вы забавный — сначала говорите «Как все жестоко звучит o_O»; а в ответ на закономерное «Почему?» выдаёте «Откуда я знаю?».

Что именно забавно? =). Звучит действительно жестоко. Столько действий при добавлении/удалении поля в таблицу…
Это в вас говорит когнитивный диссонанс, не переживайте. На самом деле очень удобно.
«Тяжеловестность» — не аргумент вообще. Будут тормоза, тогда и начнете искать реально узкие места, коими в 90% случаях будет база.
а можно развернуть ваш комментарий? Мне до этого казалось, что большой фреймворк обычно требует больше памяти для всех своих подключаемых исходников и соответственно будет проигрывать решениям на более легких фреймворках
Ставим opcode cacher — и ВНЕЗАПНО потребление памяти сравнивается. А объём ручной работы — не меняется.
то есть исходники грузятся только один раз и сколько они занимают 2 мб или 25 мб уже неважно
Да, скомпиленные опкоды кладутся в shared memory и дёргаются по необходимости с минимальными затратами прямо из RAM. Кроме того, у фреймворков для людей (вы удивитесь, но это снова symfony) есть привычка для production-окружения формировать один большой файл с классами ядра (поведение тонко настраивается) и неявно подсовывать кэшеру уже его, что ещё больше увеличивает быстродействие.
Я бы на Вашем месте подумал над использованием готовой CMS, как советовали выше. НО, был задан конкретный вопрос про выбор фреймворка, значит на него и нужно отвечать. =)
Мое мнение — выбор фреймворка — дело личное, скажем я использую symfony, попробовал zend — не понравилось (это ни в коем случае не означает, что zend — плохо, вовсе нет). Yii — неплохой, но для себя не вижу смысла на него переходить. С Kohana не работал. Я так понял, что Вы уже работали с Zend и Symfony. Если есть время и желание экспериментировать, пробуйте Yii, если времени, как обычно нет, то что мешает опять воспользоваться Zend или Symfony? Мне кажется, что однозначного решения нет, у всех фреймворков есть свои плюсы и минусы. На любом из них (я имею ввиду перечисленные) можно сделать качественный продукт, который и нагрузку будет держать и работать стабильно.
насчет пункта 4 (только ОРМ)… лично я бы не стал использовать только ОРМ — так как пришлось бы больше кодить, а поскольку у меня есть склонность к перфекционизму, это может закончиться написанием собственного фреймворка или СMS, т.е. созданием еще одного велосипеда. К тому же не уверен, что использование только ОРМ существенно улучшит производительность, чем использование фреймворка с ОРМ.

Как резюме, по мне так, можно использовать любой из перечисленных фреймворков, какой нравится больше. Для меня — Symfony, для кого-то Yii.

CMS здесь не подходит, потому что сайт хоть и маленький, но нужны всякие фишки, которые проще сделать с фреймворком… как пример, как сделать с CMS надпись в ленте комментариев «НЛО прилетело и опубликовало эту надпись»

Почему бы не попробовать с тем чем работал (Zend, Symfony), до этого все фреймворки(языки) выбирали заказчики, а тут в кои веки у появился выбор
Тяжеловесность ZF полная фигня, в большинстве случаев 90% времени генерации страницы занимают запросы к БД, а если ещё поставить кэшер опкода… в общем надуманно это всё, код красив, понятен, пишешь код и диву даёшься как всё продуманно. Единственное что плохо, это долгая настройка инициализирующих параметров «под себя», но это надо сделать всего один раз, затем можно тупо копировать из проекта в проект, просто внося мелкие изменения.
«долгая настройка инициализирующих параметров «под себя»» — это правильно подмечено
Это даёт огромные возможности подгонки под собственные нужды, в других фреймворках иногда надо из-за этого в исходный код лезть. Нет худа без добра, и наоборот ;)
долгая настройка инициализирующих параметров «под себя»


В последних версиях все намного проще.

zf create project и вперед. Даже настраивать почти ничего не нужно. Расположение и структура файлов и папок теперь стандартизированы.
zf — хороший фреймворк, а для ускорения еще есть акселераторы
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.