簡體   English   中英

如何將我的symfony2項目一分為二? 這樣我就可以在不同的服務器中托管不同的捆綁軟件,並在另一台服務器中托管資產

[英]How to split my symfony2 project into two ? So that i can host different bundles in different servers and assets in another server

我正在處理一個大型symfony2項目,該項目有八個捆綁包,這些捆綁包具有相互依賴的不同功能(例如:AdminBundle,UserBundle,StoreBundle等。)。 現在,我想按以下方式將項目分為Admin和Main,這樣我就可以將每個項目維護在不同的服務器(具有相同的數據庫)中,並具有單獨的服務器來維護用戶上載的圖像和視頻。 請指導我

Project_Admin
應用程式
Src
供應商
等等..

Project_main
應用程式
Src
供應商
等等..

項目資產
網絡
等等..

在不同的服務器上只有一個項目是不可能的,但是在服務器之間一起通信的多symfony項目是不可能的。

您確定捆綁包與PHP代碼無關嗎? (實體,服務等)。 很難做到這一點,但可能是的。

您的項目資產不能是與其他資產打交道的資產,因為其他捆綁包不在同一服務器上。

您可以將所有概念或通訊捆綁與API Rest結合使用。 但是,如果沒有,您將在遠程服務器之間建立相互依賴的引擎。

Symfony為一個項目生成了大量技術文件。 如果此文件在其他遠程服務器之間必須相同,則不可能。

您的問題涉及使用Java在不同服務器(WebServer和AppServer)上實現共享邏輯的概念。 也許可以用這個來實現您的問題。

您還可以圍繞模板概念設計體系結構。 全部捆綁全部用於生成渲染WebPage的遠程捆綁。 這樣,您就可以將資產和所有其他捆綁的視覺邏輯分開。

沒有很多工作,使用Symfony的標准概念很難解決您的問題……但是您可以將同一包集成到其他遠程項目symfony中,並使代碼版本完全相同。 有了這個,您可以輕松地在許多遠程項目symfony中共享1個網站。 示例:如果企業和后端之間的聯系不是很緊密,則一台服務器中站點的企業部分和其他服務器中的后端部分。

在處理數據庫方面,我覺得這不是很困難,因為(和IF)數據與您的技術邏輯過程無關(這與PHP代碼相距甚遠)

一種方法是將非特定於應用程序的代碼放入捆綁包中,該捆綁包將與其他第三方捆綁包一樣對待,這些捆綁包將被安裝到vendor/目錄中。 例如,假設您的公司名稱為Acme,則可以為每個包創建名稱空間,例如Acme \\ StoreBundleAcme \\ CommonBundle等。 這些都將在您的composer.json進行版本控制,並安裝到諸如vendor/acme/storevendor/acme/common

從那里,制作2個應用程序,其中一個用於您的Admin ,一個用於您的Main ,您將在其中放置特定於應用程序的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM