[解決済み] symfony2 - 独自のベンダーバンドルを作成する - プロジェクトとgit戦略
2023-08-24 10:57:20
質問
私たちは、独自の
common
バンドルを作成することを検討しています。バンドルは、変更、実行、インクルード、およびテストが簡単であるべきです。私が知っているのは
バンドルを構造化するためのベストプラクティス
については知っていますが
git
を使うべきかがわかりません。
を作るべきでしょうか?
common
バンドルをプロジェクトとして作成し、リポジトリ全体を git サーバーにコミットすべきなのか、それとも
common
のルートに対してのみソース管理を開始し、その内容のみをプッシュする方が良いでしょうか?私は、このアプローチは
github
にあるバンドルでこの方法を見かけますが、私はそのような方法でバンドルを開発する簡単で快適な方法を知りません。
どのように解決するのですか?
新しい空のsymfonyプロジェクトを作成する
php composer.phar create-project symfony/framework-standard-edition demo/ 2.4.1
cd demo
新しいバンドルを生成する
(例えば
src/Company/DemoBundle
)
php app/console generate:bundle
cd src/Company/DemoBundle/
github リポジトリを
src/Company/DemoBundle
git init
touch README.md
git add .
git commit -m "initial commit"
git remote add origin https://github.com/YourAccount/DemoBundle.git
git push -u origin master
composer.jsonファイルを追加する
src/Company/DemoBundle/composer.json
:
{
"name" : "company/demobundle",
"description" : "A demo bundle",
"type" : "symfony-bundle",
"authors" : [{
"name" : "demo",
"email" : "[email protected]"
}],
"keywords" : [
"demo bundle"
],
"license" : [
"MIT"
],
"require" : {
},
"autoload" : {
"psr-0" : {
"Company\\DemoBundle" : ""
}
},
"target-dir" : "Company/DemoBundle",
"repositories" : [{
}],
"extra" : {
"branch-alias" : {
"dev-master" : "some_version-dev"
}
}
}
これでバンドルの基本構造ができました。
別のプロジェクトで使用する
composer.jsonを使用します。
[...]
"require" : {
[...]
"company/demobundle" : "dev-master"
},
"repositories" : [{
"type" : "vcs",
"url" : "https://github.com/Company/DemoBundle.git"
}],
[...]
してください。
curl -sS https://getcomposer.org/installer | php
php composer.phar update company/demobundle
app/AppKernelです。
new Company\DemoBundle\CompanyDemoBundle(),
作業する
-
DemoBundle をクローンするのは
src/Company
フォルダーにクローンし、手動でインストールします。 - シンボリックリンクを使用することができます
結論
1つ目のプロジェクトでバンドルを開発・テストし、2つ目のプロジェクトでgithubやcomposerを使って利用することができます。
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] git add -A」と「git add .」の違い。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Git で管理されているプロジェクトのローカルな変更をすべて以前の状態に戻すにはどうすればよいですか?
-
[解決済み] Gitで落としたスタッシュを復元する方法とは?
-
[解決済み] Git リポジトリで現在のコミットを唯一の(初期)コミットにする?
-
[解決済み】Gitで複数のコミットの著者名やコミッター名、Eメールを変更する方法は?
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み】Laravel 5.2 Storage::makeDirectory($dir) でディレクトリが作成されない。
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。