Структура PHP промежуточной сложности, между CodeIgniter и Yii?

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

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

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

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

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

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

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

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

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

Ответ 1

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

Игровая площадка Yii - примеры Кулинарная книга Yii - примеры Yii blog tutorial - больше примеров

PS. есть также google - я нахожу решение (и примеры) самым быстрым способом - ex: реализация + pagination + yii

Ответ 2

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

Ответ 3

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

Я посмотрел на CakePHP, но получил NOWHERE.

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

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

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

    $result = mysql_query($sql);

  • вы можете использовать уровень абстракции Yii DB.

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

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

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

Ответ 4

вы можете попробовать kohana (особенно из ci)

Ответ 5

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

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

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

Ответ 6

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

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

С личной точки зрения, я бы пошел с symfony из-за этого

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

Нижняя сторона - это

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

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

Ответ 7

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

Ответ 8

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

Ответ 9

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

Легкий способ создания форм в режиме mvc.