Мне нужно создать приложение php, и я думал об использовании фреймворка (никогда ранее не использовавшегося). Я просматривал некоторые, но большинство из них кажутся мне сложными, мне очень понравилось то, что я видел о Symfony, но похоже, что мне придется потратить месяц, пока я действительно не пойму, как его использовать, и через месяц я может кодировать приложение, которое я имею в виду 5 раз без рамки. Но я хочу использовать его для «стандартизации» моего кода и предотвращения ошибок.
Поэтому мне было интересно, может ли кто-нибудь поделиться со мной тем, какие рамки php, по вашему мнению, легче узнать, как использовать.
Мое приложение будет использовать mysql, и у него будет какая-то «поисковая система» для поиска данных, которые будут заполнены в базе данных, используя несколько «скриптов скрепера» (которые я также хочу кодировать с помощью фреймворка).
Есть много вопросов, которые отвечают на этот вопрос здесь, на StackOverflow, и я недавно был в вашем положении, исследуя множество разных фреймворков, так как хочу также стандартизировать свой код.
Я закончил тем, что выбрал Codeigniter, потому что я хотел что-то с хорошей документацией, и это было очень легко (легче – легче понять IMO) и что-то, что было не слишком строгим. В Codeigniter, если вы действительно хотите, вы можете просто скопировать обычный PHP, и это позволяет вам это сделать. Мне нравится этот параметр, потому что, если я действительно зацикливаюсь на чем-то, я просто кодирую его в raw PHP так, как я знаю, что могу. Я использую Codeigniter только несколько недель, но кривая обучения не слишком сложна, и это моя первая структура, которую я использовал.
Прочитайте некоторые из предыдущих обсуждений и обратите внимание на простоту использования:
Если вам нужно что-то легко начать, вы можете посмотреть в минимальные рамки:
Но на самом деле большая дюжина рекомендуется, если вам нужна хорошая документация. Symfony и CakePHP сложны, CodeIgniter и более новая вилка Kohana новичок. Хотя есть еще много на выбор. Выберите хороший API и, возможно, обратите внимание на то, что объясняет разницу между MVC и MVP . Также для длинного списка: http://matrix.include-once.org/framework/
Мой первый выбор – cakePHP . Легко учиться, отличная документация , api и несколько хороших книг:
CakePHP – лучшее решение с небольшой кривой обучения.
Я был в твоей обуви всего 2 года назад. Я лично решил использовать Zend Framework . Важно понимать, что ZF построен теми же парнями, которые поддерживают и улучшают сам PHP! Просто это дает ему гораздо больше доверия.
При выборе структуры вы должны учитывать следующее:
Размер и качество сообщества. Будучи одной из наиболее широко используемых фреймворков PHP, Zend Framework (aka ZF) имеет самое большое сообщество фреймворков PHP; следовательно, большинство проблем, с которыми вы столкнетесь, уже получили ответ. Существуют фреймворки, которые поддерживаются всего несколькими разработчиками, и если они перестанут работать над этим, вы застряли в последней версии фреймворка. Это вряд ли произойдет с ZF.
Документация и дружественный к новичкам – Документы ZF довольно хороши, полны примеров и новичка. Там также много учебников и [краткое руководство по началу работы] [2]. Очень просто запустить новое приложение ZF.
Инвестиции. Конечно, вам нужно инвестировать когда-нибудь изучение того, как это работает, но все так, как в мире разработки программного обеспечения. Вы должны понимать [ООП] [3] и [MVC] [4] перед началом работы. Многие люди не понимают, что использование структуры для разработки процедурно-подобного кода (вместо ООП) преследует цель … с использованием структуры MVC / OOP! Поэтому важно понять и освоить эти концепции, чтобы вы могли разработать лучший код. И лучшим кодом я подразумеваю a) код, который работает b) код, который легко и быстро понять и поддерживать.
Эта инвестиция стоит того, так как она резко увеличит скорость развития b) скорость отладки и обслуживания.
Кроме того, воспользуйтесь этим моментом в своей карьере программирования, чтобы также придерживаться других распространенных лучших практик (если вы еще этого не сделали), используя: a) Тесты единиц – невероятно легко интегрировать в ZF. Изучите [Test Driven Development] [5]. b) IDE – VIM, [Netbeans] [6] и т. д. c) [Design Patterns] [7] d) Source Control – [Mercurial] [8], Git, SVN и т. д. e) Наконец, держитесь в цикле [после того, что происходит в мире PHP] [9].
Вы сами будете сами себя благодарить в ближайшем будущем! Я знаю, что знаю.
Поскольку никто не голосовал за Symfony здесь, я буду и вот почему. Существует два типа фреймворков, а также целый диапазон, но в области PHP / MVC, где мы находимся в этом потоке, есть рамки Glue и Full Stack.
Zend и CodeIgniter – это клей, а Symfony и Cake – FullStack.
Клей – это те, где вы можете выбрать, какие компоненты вы можете использовать, и сколько «стандартного» кода вы можете использовать. Они, как правило, имеют более мягкую кривую обучения, так как вы можете выбрать бит, который вам нравится, и заполнить более сложные биты кодом, который вы знаете.
FullStack означает, что вам нужно использовать лот, и поэтому кривая обучения может быть довольно крутой. Кроме того, с FullStack может наблюдаться тенденция препятствовать тому, чтобы что-то было реализовано, а не просто принимать и течь с ним.
Исходя из написания всего самого фона, я изначально предпочитал Клей, но теперь перешел на FullStack, используя Symfony 1.4 и 2 и Sinatra и Padrino. Дополнительная скорость и сила, которые дают полные ставки, – это не то, что я хотел бы отдать.
Один недостаток CI заключается в том, что он создан для совместимости с php4 и, таким образом, страдает несколькими структурными способами, когда вы пытаетесь продвинуть фреймворк, Kohana – это вилка, которая решает эту проблему. И мне не нравится Zend, потому что существует так много способов сделать то же самое, что через некоторое время Framework кажется почти нерелевантным (извините личный допрос)
В конце концов использование Рамки является хорошим, потому что оно добавляет структуру и может быть отличной помощью для обучения, и тот, который вам нужен, – это тот, который вам удобен и продуктивен.
Есть много рамок и несколько действительно классных фреймворков. Попробовав так много из них, я думаю, вы не должны начинать использовать их, прежде чем находить наиболее подходящие для ваших нужд. Вы можете найти любой другой, выбирая его, чтобы не действовать быстро, прежде чем выбирать правильный. Перед созданием приложения с каркасом вы должны выполнять упражнения. Для меня я начал с CodeIgniter создал одно приложение и оставил второе в середине, затем перешел в Kohana и начал второе приложение в соответствии с потребностями.
CodeIgniter – это тот, который я предпочитаю
Структура должна иметь мало обучения и легко расширяться. Я использую http://sourceforge.net/projects/naanalframework/ для всех моих проектов. Нет установки. Просто нужно указать инфраструктуру naanal.php в index.php вашего приложения и запустить его. Структура поможет вам в том, что делать. Для начала эта структура очень полезна для разработки приложений PHP. Пример приложения также доступен по адресу http://sourceforge.net/projects/naanalframework/files/sample%20applications/wordpress_plugin_builder.zip/download