0

状況

抽象クラスと比較できるベースSymfony アプリがあります。
複数のカスタマーSymfony アプリがあり、すべてBaseアプリに基づいています。
顧客アプリは単純な Web サイトであり、それぞれが異なる (読み取り専用) データ、テーマなどを持っています。

ベースアプリ -スタンドアロンとして機能しませ

  • .htaccess ファイル、AppKernel、config.yml など。
  • 複数のベンダー バンドル
  • いくつかの基本ビューを含む基本バンドル
  • コントローラーがありません
  • ルーティングがない
  • 顧客固有のリソースが不足している

顧客- Baseアプリにない要素が含まれています

  • ベースアプリに「注入」
  • コントローラー
  • ルーティング
  • 顧客固有のリソース (ビュー、css、js、データなど)

git を使用して、 Baseコードから git リポジトリを作成し、各CustomerリポジトリがBaseリポジトリをサブモジュールとして参照することをお勧めします。
これにより、基本コードが 1 つのリポジトリに保持され、顧客リポジトリ間の明確な分離が維持されます。

root\ - (顧客レポ)
    顧客\ - (顧客固有のファイル)
    Symfony\ - (ベース アプリ サブモジュール リポジトリ)
       アプリ\
       ソース\
          弊社\
             ベースバンドル\
       ベンダー\
       ウェブ\

こだわりポイント

Symfony にCustomer\フォルダーもその内容も認識させることができません。

仕様

  • シンフォニー 2.3
  • ギット
  • アパッチ 2.4.4
  • Phpストーム
  • ウィンドウズ 7 x64

失敗した試行

  • CustomerバンドルをAppKernel.phpに追加する registerBundles
  • autoload.phpCustomer\にフォルダーを登録する
4

1 に答える 1

0

Customer\外部ディレクトリをソースとして使用し、ディレクトリ内の宛先としてJunction シンボリック リンクを作成しますMyCompany\

Symfony (サブモジュール) リポジトリの.gitignorecustomer/で、junction シンボリック リンクを無視するように追加します。

root\ - (顧客レポ)
    顧客\ - (シンボリックリンクのソース)
    Symfony\ - (git サブモジュール)
       アプリ\
       ソース\
          弊社\
             ベースバンドル\
             顧客\ - (ジャンクション シンボリック リンク)
       ベンダー\
       ウェブ\

Windows または Linux でのシンボリック リンク (シンボリック リンク) の完全なガイド

于 2013-09-01T14:33:44.163 に答える