2016-08-02 4 views
-1

私たちは、コードの約90%を共有する2つのサイトを走らせようとしています。ビジネスドメインは同じですが、UIは少し異なります。したがって、彼らは異なるCSSを持つでしょう。さまざまなUIを持つ共有コードベース

コードベースを管理して、それを必要とするコードをどのように共有しますか?

+0

あなたは建築としてあなたの質問にタグを付けました。すべてが同じだがUIはあなたが持っている建築的な質問は何ですか?関連する「共有」コードベースを 'include()'する方法も同様です。これで書かれているのは、現在のところ十分な文脈がない質問です。 – kayess

+0

@ close-votersこれは広範に聞こえるかもしれませんが、実際には具体的に答えることができます。 [ここ](http://meta.stackoverflow.com/a/323828/576767)をチェックしてください。関係するタグは異なりますが、原則は全く同じです。 PHPコードを共有することは、PHPエコシステムに関する特定の問題です。 –

答えて

1

二つの一般的な方法例えば

  • 構造作曲パッケージなどの共有部分

、ルータ、依存関係の管理、検証、ドメインエンティティのマッピングなど、すべてのアプリケーションレベルのコードは、管理することができますComposerから依存関係はPackagistになります。コードがオープンソースではない場合、依存関係としてプライベートreposを使用することは可能です。

次に、サイトごとに異なるリポジトリを作成し、Composerを使用して同じパーツを作成し、実際に異なるパーツだけをコーディングします。おそらく、ドメインごとに2つのサーバーがあります。

これは、Composerとコードによるより多くの設定を意味します。

 
repo 1 
    /app 
     /viewSpecificToOne 
    /public 
     /cssSpecificToOne 
     /jsSpecificToOne 
     index.php 
    /vendor 
     /[dependencies installed through composer] 
repo 2 
    /app 
     /viewSpecificToTwo 
    /public 
     /cssSpecificToTwo 
     /jsSpecificToTwo 
     index.php 
    /vendor 
     /[dependencies installed through composer] 
  • は同じレポ

これは、他のソリューションに近いからすべてのサイトを管理していますが、同じドメインマッパーを使用する別のフロントコントローラに異なるルートを送信します検証、ルーターなどがありますが、特定のコードを持つ2つの異なるViewレイヤーがあります。

これは、2つのパブリックreposの各ドメインにサービスを提供するためのサーバーのより多くの構成を意味します。

 
Repo 
    /app 
     /view1 
      /viewLogicSpecificToOne 
     /view2 
      /viewLogicSpecificToTwo 
    /public1 
     /cssSpecificToOne 
     /jsSpecificToOne 
     index.php 
    /public2 
     /cssSpecificToTwo 
     /jsSpecificToTwo 
     index.php 
    /lib 
     /sharedPackages 
関連する問題