Symfony2 - 创建自己的供应商捆绑 - 项目和git策略 [英] Symfony2 - creating own vendor bundle - project and git strategy
问题描述
我们正在考虑创建自己的常用的
包,用于实体映射和服务,以便在几个单独的应用程序中使用。捆绑应该很容易修改,运行,包含和测试。我了解构建捆绑软件的最佳实践,但我不知道我们应该如何创建 common
git
策略以用于开发。 / code>捆绑为一个整体项目并将整个存储库提交到我们的git服务器,还是仅启动对 common 其内容?我在
github
中看到了这种方法,但我不知道如何轻松和舒适地开发捆绑包。
创建一个新的空symfony项目
php composer.phar create-项目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 -minitial commit
git remote add origin https://github.com/YourAccount/DemoBundle.git
git push -u origin master
添加composer.json文件
src /Company/DemoBundle/composer.json
:
{
name:公司/ demobundle,
description:演示包,
type:symfony-bundle,
authors:[{
name :demo,
email:demo@company.com
}],
keywords:[
demo bundle
],
许可证:[
MIT
],
要求:{
},
自动加载:{
psr-0:{
Company \\DemoBundle:
}
},
target-dir:Company / DemoBundle,
repositories:[{
}],
extra:{
branch-alias:{
dev-master:some_version-dev
}
$ b $现在你有了你的包的基础结构
在另一个项目中使用它
composer.json:
[...]
require:{
[...]
company / demobundle:dev-master
},
repositories:[{
type:vcs,
url:https://github.com/Company/DemoBundle.git
}],
[...]
p>
curl -sS https://getcomposer.org/installer | php
php composer.phar更新公司/ demobundle
app / AppKernel:
new Company \DemoBundle\CompanyDemoBundle(),
处理它
- 您可以将DemoBundle复制到
src /公司
文件夹,然后手动安装它
- 可以使用符号链接
< h1>结论
您可以在第一个项目中开发和测试您的包,并在第二个项目中将它与github和composer结合使用。
We're considering creating our own common
bundle for entity mapping and services for use within few separate apps. A bundle should be easy to modify, run, include and test. I know about Best Practices for Structuring Bundles, but I don't know what git
strategy to use when it comes to development.
Should we create common
bundle as a whole project and commit whole repository to our git server, or is it better to start source control only for root of common
bundle and push only its contents? I see this approach in bundles available on github
, but I don't know easy and comfortable way to develop bundles that way.
解决方案 Create a new empty symfony project
php composer.phar create-project symfony/framework-standard-edition demo/ 2.4.1
cd demo
Generate a new bundle
(for example src/Company/DemoBundle
)
php app/console generate:bundle
cd src/Company/DemoBundle/
Init your github repository in 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
Add a composer.json file
src/Company/DemoBundle/composer.json
:
{
"name" : "company/demobundle",
"description" : "A demo bundle",
"type" : "symfony-bundle",
"authors" : [{
"name" : "demo",
"email" : "demo@company.com"
}],
"keywords" : [
"demo bundle"
],
"license" : [
"MIT"
],
"require" : {
},
"autoload" : {
"psr-0" : {
"Company\\DemoBundle" : ""
}
},
"target-dir" : "Company/DemoBundle",
"repositories" : [{
}],
"extra" : {
"branch-alias" : {
"dev-master" : "some_version-dev"
}
}
}
Now you have the base structure of your bundle
Use it in another project
composer.json:
[...]
"require" : {
[...]
"company/demobundle" : "dev-master"
},
"repositories" : [{
"type" : "vcs",
"url" : "https://github.com/Company/DemoBundle.git"
}],
[...]
Do:
curl -sS https://getcomposer.org/installer | php
php composer.phar update company/demobundle
app/AppKernel:
new Company\DemoBundle\CompanyDemoBundle(),
Work on it
- You can clone your DemoBundle in the
src/Company
folder, then manually install it
- You can use symlink
Conclusion
You can develop and test your bundle in your first project and use it with github and composer in your second project.
这篇关于Symfony2 - 创建自己的供应商捆绑 - 项目和git策略的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!