Joomla как компонентная архитектура .. Начиная с нуля - PullRequest
2 голосов
/ 28 ноября 2010

Blockquote

Отредактировано:

http://blog.fedecarg.com/2008/06/28/a-modular-approach-to-web-development/

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

Отредактировано:

Blockquote

Я хотел бы знать, какая на данный момент лучшая php-фреймворк на 100% модульная, как архитектура компонентов joomla.

В Joomla все, что вам нужно сделать, это загрузить набор файлов в каталог «компоненты», и вы можете добавить «любой» вид сложной функциональности в Joomla.

Я хочу разрабатывать php-приложения с нуля и хочу, чтобы все мои приложения имели одинаковую простоту компонентной архитектуры joomla . Поэтому я в настоящее время ищу php framework.

Так какой же самый лучший способ пойти, если я хочу сделать выше?

Стоит ли выбирать php-фреймворк, такой как codeignitor, zend и т. Д.? но вы видите, даже если это использовать их, предположим, что если мне нужно создать новую функцию, я должен загрузить файлы по крайней мере 3 каталогов, т.е. контроллер, модель и представление. Но вы видите, что в Joomla все, что мне нужно сделать, это загрузить все файлы, конечно, надлежащим образом структурированные в один каталог, называемый «компоненты», а все остальное позаботится автоматически

Так, как лучше идти вперед?

Шанти

Ответы [ 4 ]

0 голосов
/ 28 ноября 2010

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

Zend Framework - это, вероятно, лучший путь для вас.его механизм компоновки и прочее не так быстр, как хотелось бы, но обладает отличной модульностью.Вы даже можете частично перегружать базовые классы в соответствии с вашими потребностями в своем «модуле».не работают только абстрактные классы (как они должны?), поэтому они никогда не используются.

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

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

0 голосов
/ 28 ноября 2010

Ваш вопрос такой же, как мой вопрос.но это было 4 месяца назад.Я попытался выяснить, как я могу создать такую ​​модульную систему.После некоторого поиска я понял, что у нас должен быть один каталог, такой как «компоненты», как вы сказали, и поместить в него все данные модулей.но как мы должны их использовать?Легко !.просто создайте обработчик (файл php), который контролирует вашу установку, удаление, позиционирование, настройки.На самом деле я просто решаю 3 из них.позиционирование так сложно, я так думаю, я никогда не делаю этого до сих пор.

, если вам нужен пример моего объяснения, просто скажите мне, чтобы создать егоЯ пришлю это для вас.:)

0 голосов
/ 28 ноября 2010

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

Однако вы можете изучить Symfony2 и литий (торт 3?).Оба предназначены для использования только PHP 5.3 и выше, и оба используют функциональность пространства имен в PHP.Я сделал меньше с Lithium, но, конечно, в Symfony 2 все (ну, почти все это плагин, делающий каркас модульным и намного более легким в управлении.

Однако вы никогда не сможете точно сравнить две Framework / CMSтак же, как они построены и спроектированы для различных целей и с различными ограничениями.

Примечание: ни Symfony 2, ни Lithium не готовы к производству в настоящее время. Symfony стремится к марту 2011 года, неясно, по какой точке Лития 1 точка ойдата

[править] Здесь приведено несколько ответов для Zend. Необходимо уточнить, что существует два типа фреймворка (да, хорошо, много и много), но, если говорить упрощенно, это Full Stack и Glue.

Склеенные фреймворки, такие как Zend, как правило, бесплатны и просты, позволяя вам использовать некоторые части, а не другие, как вам хочется. Поэтому, хотя номинально MVC вы можете легко реализовать Zend с V и C, но не использовать M. Вы можете написать всеваша база данных вызывает вручную в контроллере и т. д.

Full Stack such как Symfony означает, что вы довольно хорошо используете все, нравится вам это или нет.На стороне данных вы используете и ORM, Doctrine или Propel, и большая часть инфраструктуры управляется из файлов конфигурации в YAML / XML.В этом отношении Symfony очень похож на Ruby et al.Пожалуйста, обратите внимание, что это не рекомендация и не критика.

Joomla, по моему мнению, является клейким (но не фреймворком), но, эй, зачем использовать что-то построенное на 90%, а затем переписать 75% этого?Ах да, потому что клиент спрашивает, а твой начальник не знает о проблемах, я помню сейчас.

0 голосов
/ 28 ноября 2010

Joomla - система AFAIK для CMS, поэтому вы не можете реально сравнить с ней фреймворк PHP.

С точки зрения модульности Zend Framework имеет отличную, простую в реализации модульную структуру.

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

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