Фреймворк PHP средней сложности, между CodeIgniter и Yii? - PullRequest
11 голосов
/ 30 июня 2010

Что-то простое, например, CI (это означает обязательную хорошую, простую, актуальную документацию).Но также с некоторыми дополнительными функциями, чем CI.

Yii обладает множеством функций, но он также более сложный (и это заставляет вас использовать множество его функций).Это означает, что добавление некоторых функций в ваше веб-приложение занимает в три раза больше времени, потому что вам приходится разбираться с множеством новых мелких функций Yii.

Это похоже на то, как CI "убирается с вашего пути", когда ононужно, и Yii встанет у вас на пути, и если вы не сделаете это по-своему, он сломается.

В CI отсутствуют функции, которые было бы неплохо иметь в этой новой "промежуточной" среде PHP:

  • Генерация кода (не определено).
  • Аутентификация.
  • Контроль доступа.
  • Макеты.
  • Виджеты.
  • Простое / автоматическое разбиение на страницы (например, yii)
  • параметры easy uri

Где Yii вызывает у меня проблемы:

Это похоже на то, что для каждой небольшой задачи есть некоторая встроенная функциональность (это хорошо), но ВЫ ДОЛЖНЫ использовать встроенную функциональность, иначе случится что-то плохое.(CI убегает с вашего пути, но делает это слишком много, Yii очень помогает, но время от времени слишком много мешает, и вынуждает вас просматривать его документацию, чтобы вы открыли для себя эти функции, без которых вы не в состояниивыполнить задачу, которая заняла бы в четыре раза меньше времени, в CI или в приложении без фреймворка).

Есть ли что-то среднее между ними?

(ASP.NET MVC может быть «этим», но я не знаю язык, поэтому усилия по его изучениюбыло бы лучше, чем действительно хорошо изучать фреймворк Yii, поэтому я ищу PHP Framework )

Ответы [ 9 ]

4 голосов
/ 30 июня 2010

Я фанат CakePHP .Я чувствую, что у вас есть спецификации, которые вы предоставили.Если вы хотите что-то более передовое, вы можете взглянуть на Lithium

3 голосов
/ 20 июля 2010

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

Yii детская площадка - примеры Поваренная книга Yii - примеры Учебник блога Yii - больше примеров

PS.Есть также Google - я нахожу решение (и примеры) самый быстрый в этом смысле - например: реализовать + нумерация страниц + yii

2 голосов
/ 05 июля 2010

Я использовал CI и Yii (в моих собственных проектах, если это имеет какое-то значение). CI был моим первым знакомством с MVC, и мне было легко, потому что он позволял мне использовать любую дрянную структуру и код. Я написал два полных сайта в CI (www.insolvencynews.com и www.thebigeat.com, если вы хотите увидеть сложность.)

Я посмотрел на CakePHP, но получил НУДА.

Затем я перешел к Yii, и, как и вы, я нашел это довольно жестким и жестким. Но потом я обнаружил, что это было настолько мощно и расширяемо, что я был намного более эффективным. Когда мне нужно было добавить несколько новых функций на старые сайты CI, было быстрее переписать все сайты на Yii, чем кодировать дополнительные функции в CI.

Я не могу рекомендовать рамки в середине, но я могу рекомендовать придерживаться Yii. Когда вы говорите, что Yii мешает, можете ли вы привести пример? Глядя на материал БД (в порядке возрастания зависимости от Yii):

  1. вы можете кодировать, используя основные функции MySQL PHP.

    $result = mysql_query($sql);

  2. вы можете использовать слой абстракции БД Yii.

    Yii::app()->db->createCommand($sql)->queryAll();

  3. Вы можете использовать ActiveRecord Yii:

    Takeaway::model()->findAll();

1 голос
/ 24 июля 2010

я очень хорош в Raw PHP, где под рукой проект стал слишком сложным, я решил перейти на Zend, слишком много сложностей, и я, наконец, перешел на YII, который действительно сократил затраты и накладные расходы на разработку проекта и большинстводля меня важна простая интеграция jquery, widget и advanced-OOP.

1 голос
/ 02 июля 2010

См. Этот список для хорошего сравнения:

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP_2

С личной точки зрения, я бы выбрал Symfony, потому что он

  • richфункции и
  • отличная интеграция со многими другими уже связанными компонентами (Doctrine, Swift Mailer, ..),
  • хорошая (но на первый взгляд сложная) генерация кода, которая производит действительно полезный код, чтобы вы могли начать
  • мощное использование шаблонов (об этом вы упомянете в разделе "макеты")
  • множество различных, мощных плагинов , включая аутентификацию и контроль доступа (у него также есть плагин для поддержки jQuery )
  • один из лучших учебных пособий , которые я видел в рамках

Недостатком является

  • более сложная структура,
  • Проводная файловая структура IMO,
  • довольно грязная документация API по сравнению с руководством

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

1 голос
/ 30 июня 2010

Вы должны проверить сообщество CI, некоторые из этих расширений, возможно, были написаны кем-то другим (я помню, где-то видел Аутентификацию и Компоненты / Виджеты)

Symfony стоит проверить,Лично мне это не очень нравится, потому что они выбрали Prototype вместо jQuery для своих функций ajax, что очень неудобно использовать, когда вы привыкли к jQuery.

Lithium может быть хорошопроверь тоже.Однако это только PHP 5.3, и вам нужно быть очень осторожным, чтобы эта версия PHP поддерживалась на сервере, на котором будет развернут сайт.

1 голос
/ 30 июня 2010

вы можете попробовать кохана (особенно из КИ)

0 голосов
/ 02 июля 2010

Вы можете взглянуть на Qcodo / Qcubed .Они оба просты в подборе и предлагают генерацию кода / ORM

Простой способ создания форм в виде MVC.

0 голосов
/ 02 июля 2010

Для чего стоит, если вы ищете PHP Framework, похожий на ASP.NET MVC, то я думаю, Прадо - самая близкая вещь, которую вы найдете.

...