Фреймворки PHP: помогите мне понять общие положения - PullRequest
0 голосов
/ 20 декабря 2011

Я читал о нескольких PHP-фреймворках и сократил количество своих кандидатов до CodeIgniter и Symfony (я знаю, что их гораздо больше).Сильно склоняется к CodeIgniter, но пока не решился на 100%.

Я не ищу общего обсуждения "CodeIgniter vs Symfony".

В сопоставлениях постоянно возникает одно: людискажем, Symfony для "продвинутых" программистов и "больших" сайтов;CodeIgniter предназначен для начинающих программистов и небольших сайтов.Но я еще не видел каких-либо технических доказательств этого.Все, что я вижу в CodeIgniter, кажется правильным.

Может ли кто-нибудь объяснить структурно и технически, на чем люди основывают эти заявления?

Я хочу понять все, что могу.Как только я приму решение, я хочу сосредоточить свое внимание на одной структуре.

Спасибо, Мэтью

Ответы [ 3 ]

4 голосов
/ 20 декабря 2011

Самое большое техническое различие между CodeIgniter и Symfony (версии 1 и 2) заключается в том, что Symfony гораздо проще расширить.Это особенно верно с Symfony2;вы можете заменить целые части фреймворка по своему усмотрению пользовательским кодом или кодом из других библиотек.Вы даже можете взять любое количество базовых компонентов из Symfony2 и создать свой собственный фреймворк поверх него.Но важно отметить, что, поскольку Symfony настолько «продвинут», у него более высокая кривая обучения.

Вот как я это вижу: CodeIgniter хорош, когда у вас небольшой (ish) проект, который попадает вКатегория задач CodeIgniter предназначена для решения.Но когда вы хотите сделать что-то своим способом, а не способом CodeIgniter, вам придется бороться с фреймворком, что никогда не бывает весело.

С другой стороны, если вы работаете над проектом Symfony2 и хотите сделать что-то по-своему, вы можете.Это не обязательно будет быстро, но это возможно.Для меня это самое главное - вы должны быть в состоянии заставить фреймворк делать то, что вы от него хотите.

Если у вас есть время, прочтите Symfony docs и поваренная книга - они должны дать вам представление о том, на что способен Symfony и как его настраивать и расширять.

Все, что я вижу в CodeIgniter, кажется правильным.

Тогда переходите к CodeIgniter.Самое главное, что вы знакомы с фреймворком / набором инструментов.Если вы завершили проект и обнаружили, что в нем отсутствуют функции, вы всегда можете проверить другие фреймворки.

0 голосов
/ 21 декабря 2011

CodeIgniter, из-за плавного обучения и отличной документации. Если вы когда-нибудь почувствуете, что перерастаете CI, попробуйте другие структуры, чего вы, возможно, никогда не сделаете.

0 голосов
/ 21 декабря 2011

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

Фреймворки хороши для больших проектов, где много программистов, и вам нужен последовательный метод построения прикладных уровней, таких как MVC.Фреймворк, вероятно, предоставит некоторый механизм для управления объектами и согласованный способ для вас создавать события приложения (контроллер) и отделять логику представления от логики модели.

Мои приложения PHP были меньше, поэтому у меня естьне используются какие-либо рамки.Когда я использовал кодирование в Coldfusion, в больших приложениях я использовал MachII, Model-glue, Fusebox и ColdBox.Каждый был хорош в чем-то, каждый продвигал последовательность, но каждый имел много накладных расходов и часто чувствовал, что это мешает.Я видел, как некоторые разработчики застряли из-за фреймворка.Я не начинал использовать какие-либо фреймворки CF, пока не создал меньшие приложения без них.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...