ex3*_*x3v 78 php git bundle symfony
我们正在考虑创建我们自己common的实体映射和服务包,以便在几个单独的应用程序中使用.捆绑包应该易于修改,运行,包含和测试.我知道构建捆绑包的最佳实践,但我不知道git在开发时使用什么策略.
我们应该创建commonbundle作为一个整体项目并将整个存储库提交给我们的git服务器,还是最好只为commonbundle的root启动源代码控制并仅推送其内容?我在捆绑包中看到了这种方法github,但我不知道以这种方式开发捆绑包的简单方便.
VBe*_*Bee 175
php composer.phar create-project symfony/framework-standard-edition demo/ 2.4.1
cd demo
Run Code Online (Sandbox Code Playgroud)
(例如src/Company/DemoBundle)
php app/console generate:bundle
cd src/Company/DemoBundle/
Run Code Online (Sandbox Code Playgroud)
src/Company/DemoBundlegit 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
Run Code Online (Sandbox Code Playgroud)
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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在您拥有了捆绑包的基本结构
composer.json:
[...]
"require" : {
[...]
"company/demobundle" : "dev-master"
},
"repositories" : [{
"type" : "vcs",
"url" : "https://github.com/Company/DemoBundle.git"
}],
[...]
Run Code Online (Sandbox Code Playgroud)
做:
curl -sS https://getcomposer.org/installer | php
php composer.phar update company/demobundle
Run Code Online (Sandbox Code Playgroud)
应用程序/ AppKernel:
new Company\DemoBundle\CompanyDemoBundle(),
Run Code Online (Sandbox Code Playgroud)
src/Company文件夹中克隆DemoBundle ,然后手动安装它您可以在第一个项目中开发和测试捆绑包,并在第二个项目中将其与github和composer一起使用.
flo*_*000 16
需要知道的一点是,您可以从/ vendor提交您的repo.实际上,作曲家为引用包的回购的每个包(或包)创建第二个名为"composer"的远程,以便您可以在工作环境中处理它.因此,最佳做法是在您的composer.json中为您的所有项目注册您的包,并从您的/vendor/MyCompany/MyBundle任何项目中提交.
作为证明,只需git remote -v从供应商的任何捆绑包中运行即可.
不好的做法是将您的捆绑包视为一个单独的项目,并使用符号链接.这种不良做法的主要原因是您无法使用捆绑包声明依赖性.此外,您在部署项目时会遇到一些困难.
| 归档时间: |
|
| 查看次数: |
32325 次 |
| 最近记录: |