2

CakePHP がデフォルトで app/Config を .gitignore に入れるのはなぜですか?

app/tmp を .gitignore に配置することを理解しています。また、複数のプロジェクトで共有されるプラグインとベンダーを対象としているため、ルート /plugins および /vendors ディレクトリを配置した理由も理解しています。しかし、なぜ app/Config なのですか? database.php や bootstrap.php など、バージョン管理に必要なものがまさに含まれていると思います。

4

2 に答える 2

2

データベース構成と関係があると思いますが、実際にバージョン管理に必要のないものです。

想像してみてください。あなたの git リポジトリにデータベース構成ファイルがあり、誰かがプルすると、彼らはあなたのデータベース設定を持ち、ニーズに合わせてデータベース構成ファイルを編集し、データベースを使った卓球のゲームになります。 php ファイル。そして、率直に言って、それは非常に迷惑です。

つまり、全員が同じ構成設定を持っている場合、それは機能し、少し便利かもしれませんが、マシン全体のすべてのデータベース構成を持っているのは誰ですか?

一方、bootstrap.php にはある程度同意します。ブートストラップは通常プロジェクト用であり、プロジェクトはそれらの依存関係に依存しているためです。そうは言っても、環境ごとに異なるプラグインを使いたい場合はどうすればよいでしょうか? sendgrid.com を使用して開発コピーでメールを送信したり、ライブ サーバーで SMTP を使用したりしますか?

私の意見では、構成ディレクトリを無視したままにしておく方が簡単です。構成は開発者に任せます。

于 2013-01-17T11:10:16.423 に答える
1

受け入れられた答えは、データベース構成をリポジトリに入れたくないという点で正しいですが、重要な点をわずかに見逃しています。

データベース構成をリポジトリに含めたくありません。誰かがこれにアクセスすると、データベースのログイン/パスワードなどの機密情報にアクセスできるため、データベースに直接アクセスできます!

CakePHP 3.x ではapp.php、データベース設定を含む構成ファイルのみがデフォルトで無視されます。app.default.php機密データをリポジトリに保存する必要なく、ローカル マシンまたはサーバーにアプリをセットアップするためのテンプレートとして使用するファイルが含まれています。

CapistranoRocketeerなどを使用してアプリをデプロイする場合は、データベース構成を含むファイルを共有ディレクトリに保持し、デプロイ時にこれにシンボリック リンクすることをお勧めします。そうすれば、初期設定は別として、リポジトリからデプロイするときに構成が失われることを心配する必要はありません。

于 2015-07-21T17:56:22.973 に答える