Любые фреймворки PHP, которые используют систему макета и блока, например Magento?

В то время как это наиболее типично рекламируется как полнофункциональная система корзины покупок, Magento - это потрясающая структура для загрузки. Особо удивительной является система макета. По существу страница создается из "Блоков", которые все наследуют от абстрактного класса, который не предполагает использование файлов шаблонов. Эти блоки собираются в соответствии с макетом, который представляет собой состав связки XML файлов, объединенных вместе, чтобы описать иерархическую структуру блоков для каждой страницы (наследование, поддерживаемое DRY). Мне нравится эта система, но Magento - очень тяжелая структура.

Существуют ли какие-либо другие рамки, которые используют подобную систему? То есть макеты, определенные вне файлов шаблонов, как описано выше. PHP 5.3 предпочтительнее, но рассмотрит рамки на других языках.

Ответ 1

Я бы придерживался пурпурного, если тебе уже удалось обойти его. Зачем тратить время на изучение другой системы? Если проблема в скорости, потратьте некоторое время на оптимизацию magento (есть whitepaper по теме, которая является хорошим местом для начала) и посмотрите на установку apc. Это дает моим установкам magento чертовски мощный импульс.

Ответ 2

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

Ответ 3

Yep, Zend Framework определенно может быть изменен, чтобы использовать механизм макета в стиле Magento, и это не должно быть такой сложной настройкой, как это делает Magneto.

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

Из этого появилось мое первое сообщение в блоге в моем новом блоге, и мой первый пост на SO

Кстати, спасибо, что принес ModMan для Magento в жизнь Колина.

Создание механизма макета в стиле Magento для вашей библиотеки Zend Framework

Ответ 4

Взгляните на компонент Symfony Templating. Он быстрый, легкий и мощный.

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

Обе библиотеки являются автономными, поддерживают наследование шаблонов и легко расширяемы.

Ответ 6

Zend Framework - одна из таких фреймворков, которая имеет почти ту же структуру, что и Magento, и использует правильную архитектуру MVC (как и многие другие версии архитектуры MVC, которые реализованы во многих доступных фреймворках PHP).

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

Итак, в целом, я думаю, что Magento (с его баребонами) должен использоваться, как вы уже используете, и так же "silvo".

Надеюсь, что это поможет.

Ответ 7

В настоящее время я работаю над CakePhp. Он использует систему компоновки. Также есть элементы, которые вы можете создавать блоки в макете. Это может сработать для вас. Также не так сложно учиться.

Ответ 8

Magento построен на Zend Framework. Таким образом, вы можете использовать эту структуру. Но в наши дни почти все рамки php используют систему макетирования.

Вы также можете рассмотреть Yii Framework и Doo PHP

Ответ 9

Предложите взглянуть на Agavi http://www.agavi.org, поскольку кажется, что он делает то, что вы хотите.