使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3218字,纯文字阅读大概需要5分钟。
内容图文
![使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`](/upload/InfoBanner/zyjiaocheng/679/bf9fa8e93b104d88bfcd94b3516653ea.jpg)
我希望我的CakePHP项目使用最佳实践.目前,我们已经将我们的PHP依赖项签入了我们项目的仓库中,我不喜欢这样.
我希望该项目利用Composer,但我不了解正确的策略.
> composer.json在项目根目录中.
>有/ vendors /和/ plugins /,它们在.gitignore下.
> / app / Vendor /和/ app / Plugin /不会被忽略.
然后,有一个来自FriendsOfCake的app-template样板:
> composer.json在项目根目录中.
>没有/ vendors /或/ plugins /.
> / app / Vendor /和/ app / Plugin /在.gitignore下.
最后,还有一个正在进行的项目cakephp-composer.这意味着:
> composer.json在/ app /中.
>该插件本身应该手动安装到/ app / Plugin /中.
>自述文件没有解释.gitignore策略,但是插件作者says认为/ app / Vendor /和/ app / Plugin /应该被忽略.
cakephp-composer是最奇怪的事情.克隆项目后,我应该如何获取CakePHP和Cakephp-composer?
我要实现以下目标:
>我的项目存储库仅包含项目本身的源代码.版本化到其他地方的任何代码,例如G. CakePHP框架和CakePHP插件不应出现在我的仓库中.
>将项目的仓库复制到新位置后,我想用一个Composer命令获取所有PHP依赖项,包括CakePHP及其插件.没有手动下载/克隆. Composer完成工作后,该项目应立即开始工作.
>我真的很喜欢FriendsOfCake的app-template样板.对我来说,这看起来简单合理.所以我希望我的项目结构尽可能接近应用程序模板.
我不理解并且要求解释以下内容:
> Composer用来将依赖项获取到配置文件夹的文件夹在哪里?作曲家的文档提到“ PSR-4”,而我(来自Ruby世界的前端开发人员)丝毫不知道那是什么.
>应该在.gitignore下放置哪些文件夹?
>我真的需要cakephp-composer吗?我希望我不要!
>如何配置composer.json以使用Composer获取插件,特别是如果我不使用cakephp-composer时?它可能很简单,只需在require下提到软件包名称,但是我如何告诉Composer插件是否应放在app / Vendor /和app / Plugin /下?哦,他们应该去哪里?
>如何正确将Composer提取的CakePHP和CakePHP插件包含到我的项目中?
例如,要由Composer获取的CakePHP插件示例为haml.这是我进行前端工作所需要的,它具有自己的Composer依赖关系.
解决方法:
好,那里有几个问题…我会尝试回答几个.
首先,最重要的是您要使用CakePHP 2.X或CakePHP 3.0.我假设由于您正在谈论的是现有项目,所以您的意思是Cake 2.X-并不是在考虑作曲家的情况下构建的. Cake 3.0在构建时就考虑了作曲家,因此,如果可以选择升级到该版本,我认为它会更好(我自己还没有使用过3.0)
这是我的一个项目的简化示例composer.json文件:
{
"name": "my-project",
"require": {
"cakedc/migrations": "2.2.2",
"cakephp/debug_kit": "2.2.1",
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
"config": {
"vendor-dir": "app/Vendor/"
},
"extra": {
"installer-paths": {
"app/Plugin/Migrations": ["cakedc/migrations"],
"app/Plugin/DebugKit": ["cakephp/debug_kit"],
}
}
}
>参见“ vendor-dir”行:“ app / Vendor /”-这是我配置composer的地方,默认情况下将其放在我的app / Vendor /文件夹中.
> .gitignore中包含的内容…我们将回到这一点.
>不,您不需要此.
>请参见“安装程序路径”行:{?那就是我配置作曲家的地方,将特定的CakePHP插件放在Cake的插件目录中,这与我在1中提到的默认app / Vendor /相反.
>对于CakePHP插件-请参见4.对于CakePHP本身,我还没有亲自完成.我确实曾尝试过一次,但发现该设置不能很好地与我的一个插件配合使用,因此我放弃了.但是,您应该能够使用与上述相同的主体.
现在,回到2.你的.gitignore应该是什么?内容完全由作曲家维护的任何东西-在我的情况下,就是app / Vendor /和app / Plugin /.假定这些文件夹的所有内容均由作曲家维护.如果你有例如.一个您手动添加的插件,那么您就不能忽略整个文件夹-您只需要忽略随composer安装的特定插件即可.
PS-我个人删除了根供应商/和插件/文件夹-我根本不使用它们.
内容总结
以上是互联网集市为您收集整理的使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`全部内容,希望文章能够帮你解决使用Composer for CakePHP和依赖项:总体策略,项目结构和`.gitignore`所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。