Подтвердить что ты не робот

CMS на 2 РАЗЛИЧНЫХ структурах?

Я не уверен, что это возможно, но позвольте сказать, что вы хотите создать CMS, но вы разорваетесь между 2 фреймами, потому что у каждого есть некоторые функции, которые вам нравятся. Возможно ли создать CMS с обоими рамками? Имеет ли этот подход достоинства или подводные камни?

4b9b3361

Ответ 1

Можно ли создать CMS с обоими рамками?

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

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

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

Ответ 2

Говоря строго о Zend Framework (ZF), я бы сказал "да". Компоненты ZF записываются как независимые от других компонентов, насколько это возможно. Я бы сказал, что было бы не очень сложно (на самом деле может быть довольно распространено) интегрировать библиотеки ZF в другие структуры, такие как Cake, Symfony или Codeigniter.

Ответ 3

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

Благодаря этому может быть ZF просто включен в вашу кодовую базу (и Symfony тоже).

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

Ответ 4

Это будет действительно зависеть от того, что вам понравилось в обоих...

Zend Frameowrk больше похож на библиотеку, поэтому вы можете выбирать из нее компоненты. У Symfony также есть некоторые повторно используемые компоненты, которые вы можете использовать.

Действительно, вы можете делать что угодно... это зависит от того, сколько работы вы хотите сделать, и как вы хотите изменить код фреймворка. Примечание. Большинство других фреймворков PHP не так гибки, как Zend Framework (далее, вероятно, это Symfony).

Это звучит очень грязно, поэтому я бы посоветовал ему, если вы не используете его в моде, описанном выше. Легко тянуть компоненты ZF или Symfony в другие рамки, но не наоборот.

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

Ответ 5

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

Ответ 6

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

Насколько я предпочитаю Zend Framework для ядра - и многое другое - архитектура use-at-will утверждает, что для создания другой структуры используется ядро ​​и вытягивание компонентов ZF там, где они вам нужны.

Как отмечает @Adrian, легко втянуть компоненты ZF в проект, построенный в основном на другой структуре, поскольку ZF разработан с учетом этой гибкости. Другие рамки менее приспособлены в этом отношении.

Ответ 7

Вы можете это сделать. Большинство современных фреймворков (Zend, symfony, flow) способны использовать части других фреймворков. В Symfony 2 используется Zend Logger, flow3 использует sfYaml... Возможно обмен tu некоторыми компонентами.

Но, imho, вы должны придерживаться одного фреймворка как ядра и использовать второй только для относительно изолированных подсистем. Шаблоны адаптера и фасада могут помочь вам объединить их - некоторые компоненты/кланы требуют некоторой упаковки перед использованием в неродной среде.

Для дальнейшего чтения: http://www.symfony-project.org/book/1_2/17-Extending-Symfony#chapter_17_integrating_with_other_framework_s_components

Ответ 8

Конечно, это возможно, и я не вижу в этом ничего плохого. Например, я использовал CakePHP и Zend в относительно большом проекте, который был вроде cms. CakePHP для ядра (Routing, MVC) и Zend для некоторых "модулей". Главным образом для PDF, E-Mail (smtp), FTP и нескольких других, что CakePHP не так хорошо. С Cake было довольно легко использовать компоненты ZF и вообще не было взломано.

Фактически, ZF был написан как можно более независимый, так что вы можете использовать любой компонент в любое время в любом месте. Тем не менее, это не сработало бы наоборот (используя ZF как ядро, так и компоненты Cake). Конечно, это возможно, но настоящая боль без пользы. Таким образом, ZF можно использовать с возможностью использования внутри практически любой другой структуры, и с ней ничего не будет, imho.