2016-03-31 12 views
1

私たちはたぶん私はむしろ私の目標を説明しなければならないし、誰かが提案することができLaravel 5 package development clarityLaravel 5再利用可能なプロジェクト

ごとに達成するために必要なものをやっていくつかの問題があります私たちが実現してきたプロジェクトのためのパッケージをビルドいじるいくつかの後

「再利用」する必要のあるLaravel 5アプリケーションを作成しました。

データソースは実際にはC#Webサービスであるため、Laravelを修正してEloquentタイプのベースモデルを実装する必要がありました。その時点でデータベースへの呼び出しが行われ、これを傍受してSOAPへの「API」呼び出しを行います。

主な相違点はCSSです。多分JS &のコンテンツですが、すべてのルート/コントローラ/モデルはすべてのプロジェクトで同じままです。ほとんどの設定はエンドポイントから行われます。

最初に、サイトのスタイリングごとに複数の資産リポジトリを作成し、その中に含まれるLaravelプロジェクトの基本リポジトリを作成することを検討しました。ブランチングや複数のディレクトリの問題のため、単にレポを持つことができないため、これはかなり複雑に思えました。

その後、Laravelパッケージとして「コア」を構築するという考え方で実験を開始しましたが、私たちは常に壁に当たっているようです。最新の問題は、パッケージ内のモデルを含むことです。モデルを呼び出すためには、ルートプロジェクトのconfig/composerを使用して、サービスプロバイダだけでなくこれらのモデルにアクセスしています。パッケージがプロジェクト設定に密接に結合しているように感じます。

私たちが達成しようとしていることについてもっと良い方法がありますか?

編集:

私は1つのレポ上で複数のブランチソリューションについて忘れてしまったが、それは開発を特色に来るとき、これは醜い取得していないでしょうか?例:

master (core with releases that get pulled into _site*) 
dev (master dev) 
feedback-form (eg. master branch feature) 
_site1 (root site with releases) 
_site1-dev (_site1 dev) 
_site1-reskin (eg. _site1 feature) 
_site2 (root site with releases) 
_site3 (root site with releases) 

これは、開発者の手にかなり破壊的なマージパワーを残しますか?プルリクエストの読み取りアクセスは、おそらくこれに対する解決策ですか?

+0

私は答えを得ることはありませんので、明らかに私には難しいか抽象的な質問を... – Wancieho

答えて

0

だから、いくつかのR & Dの後には、現在、複数の分岐を持つ1つのレポを持つことが最善の解決策であるようです。開発者は読み込みアクセス権を持ち、各開発者に独自のフォークを作成させます。開発者はプルリクエストを作成し、「上流」リモートを介して親レポに同期し、開発者は追加のリモートを介してお互いのフォークを同期させます。

ちょっと不器用ですが、おそらくは「最もクリーン」なオプションです。

関連する問題