CMS на 2 РАЗЛИЧНЫХ структурах?
Я не уверен, что это возможно, но позвольте сказать, что вы хотите создать CMS, но вы разорваетесь между 2 фреймами, потому что у каждого есть некоторые функции, которые вам нравятся. Возможно ли создать CMS с обоими рамками? Имеет ли этот подход достоинства или подводные камни?
Ответы
Ответ 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.