私は非常に似ている3つのプロジェクトがあります:コードの95%。 編集をしなければならないときは、それを3回コピーする必要があります。とても悪いです!異なる環境では小さな違いがあります
私は1つのプロジェクトしか持たず、環境のような小さな違いを管理する必要があります。 しかし、私は本当に良い方法を知らない。例えば
私はこの機能
public function save()
{
$this->validate($this->request, [
'firstname' => 'string',
'lastname' => 'string',
'gender' => 'string',
'phone' => 'bail|size:10|required',
'email' => 'email',
'birthdate' => 'bail|date',
'referral_code' => 'bail|string',
'city' => 'bail|string',
'call_state' => 'bail|string',
'call_date' => 'bail|date',
'campaign' => 'bail|string',
'note' => 'bail|string',
'overwritten_by_lead' => 'bail|integer',
'change_state_counter' => 'bail|integer'
]);
$data = $this->request->all();
$customer = $this->repository->create($data);
return $this->response->item($customer, $this->transformer)->setStatusCode(201);
}
とコントローラを持っており、他のプロジェクトとの違いは次のとおりです。エンティティの内部
public function save()
{
$this->validate($this->request, [
'firstname' => 'string',
'lastname' => 'string',
'gender' => 'string',
'phone' => 'bail|size:10|required',
'email' => 'email',
'birthdate' => 'bail|date',
'referral_code' => 'bail|string',
'city' => 'bail|string'
]);
$data = $this->request->all();
$customer = $this->repository->create($data);
return $this->response->item($customer, $this->transformer)->setStatusCode(201);
}
もう一つの違いは、例えば、次のとおりです。
protected $fillable = [
'firstname',
'lastname',
'phone',
'email',
'birthdate',
'gender',
'province',
'zip_code',
'address',
'city',
'campaign',
'overwritten_by_lead',
'change_state_counter',
'call_state',
'call_date',
'credit',
'referral_code'
];
これは別です
protected $fillable = [
'firstname',
'lastname',
'phone',
'email',
'birthdate',
'gender',
'province',
'zip_code',
'address',
'city'
];
3つのプロジェクトの中には、ほとんど違いはありませんが、これらを管理する必要があります。
多くの場合、管理したくない場合は、環境が3以上になる可能性があるためです。
異なるファイルを持つ異なる環境にこれらの相違を上書きまたは管理する最良の方法は何ですか?
たとえば、プロジェクト1のフォルダ内にCustomerControllerとCustomerEntityがあります。 環境のすべてのフォルダ内の他のプロジェクトと同じことを、別のファイルに置きますが、どのようにこれらのファイルを上書きできますか?
ありがとうございました
環境はどういう意味ですか? –
私は正しければ '開発|ステージング|生産...? –
環境たとえば、siteForEngland、siteForItaly、siteForSpainなどの異なるプロジェクトを選択します。私はそれが環境のようだと思う –