介绍新的Symfony文档欧宝官网下载appob娱乐下载
当Symfony文ob娱乐下载档在5年前开始时欧宝官网下载app,它只是由Fabien编写的几篇短文。现在,我们拥有超过1000页的文档,一个由4名维护者组成的团队和超过1000名欧宝官网下载app贡献者!
随着项目的发展,我们尝试着创新:添加持续集成来捕捉构建错误,设置Platform.sh自动部署每个拉请求并实现一个过程,以便将Symfony核心的所有新特性都记录在案(这是一个非常罕见的壮举)。ob娱乐下载
就像代码一样,一个项目必须不断挑战自己,保持领先。
在这篇文章中,我们很高兴地介绍新的Symfonob娱乐下载y文档欧宝官网下载appover的结果150他通过一个代号为“水星计划”的秘密项目做了几个小时的志愿者工作。
我们在哪些方面可以做得更好?
在最近与Symfony Docs维护者的一次会议中(ob娱乐下载瑞安,Wouter,基督教而且哈维尔,瑞恩表达了他的沮丧和一个疯狂的想法:
我认为www.pdashmedia.com上文档的布局/组织太混乱了。ob娱乐下载我想彻底重组一切。
这个问题?从历史上看,文档被分为三个主要部分:
- “书”(几章解释从基础到高级功能);
- 《烹饪书》(The Cookbook)(专注于高级主题的独立教程);
- “组件”(解释如何从框架外部使用Symfony组件的文章)。ob娱乐下载
但对于新人来说,这是令人困惑的。你从哪里学习路由?您应该选择书籍、烹饪书还是组件?在现实中,每一个主题被分成了这三个部分。
甚至对我们来说,这也是一个挑战:新的Symfony Cache应该在一本书的章节中解释,在一系列的ob娱乐下载烹饪书教程中解释,还是仅仅在组件本身中解释?
所以,我们决定投入大量时间,做出重大改变。那时水星计划诞生了。我们研究了大多数相关项目的文档欧宝官网下载app(是否使用PHP,是否使用框架,是否使用开源),添加了我们自己的想法,并发现了一个新的文档结构,我们认为这是一个巨大的进步。
新的文档结构欧宝官网下载app
ob娱乐下载Symfony文欧宝官网下载app档现在分为两个主要部分:
- 开始这是一本简短的书,在短短六章中解释了使用Symfony框架开发应用程序的所有基础知识。ob娱乐下载这是文档的入口点,这是您应该向想要了解Symfony的人推荐的资欧宝官网下载app源;ob娱乐下载
- 指南,其他一切。它们是关于广泛主题(电子邮件、数据库、日志、表单、服务等)的简短而集中的教程。
就是这样:没有更多的书,烹饪书和组件。每个主题——从路由到安全性和序列化——都有一个单链接到所有相关文档。欧宝官网下载app
新的文档结构是扁平和简单的,而不是深度和嵌套。比较2.3文档结构与2.7文档结构.新的结构可能看起来“不那么干净”,但更容易找到任何给定主题的文档(例如。“任何与路由相关的东西”)。
你可以在改版后体验一下新结构欧宝官网下载app文档索引页.
我们是怎么做到的
但是重新构造整个文档呢?欧宝官网下载app这是一个令人生畏的任务和要求巨大的工作量。这就是为什么瑞安提出了另一个疯狂的想法:
让我们说服我们的雇主“投资”Symfony,让我们为“水星计划”工作整整一周。ob娱乐下载
他们同意了!KnpUniversity赞助了瑞安的工作,basecom赞助了克里斯蒂安的工作,SensioLabs赞助了哈维尔的工作,沃特也贡献了自己的工作个人时间。他们总共花了150多个小时在这次更新上。
非常感谢这些公司为Symfony项目投入如此巨大的资源。ob娱乐下载
因为我们在做所以很多改动,(几乎每个文件都被改动了),我们在一个私有存储库上工作。这使我们能够快速工作,并避免在过程中对公共文档库的任何混乱(例如。“为什么书的一半不见了!?”)。
除了新的结构,我们还有时间关注其他一些事情:
- 许多文章都被缩短、简化和重新措辞:我们积极地将冗长的解释移到它们自己的专用页面上,并与它们链接。例如,当您第一次学习表单时,包含近200行关于验证组的详细信息会适得其反。现在有了自己的文章。
- 我们还延续了在代码示例中包含更多注释的趋势,而不是大段的解释。
- 我们对文档的样式进行了一些改进,比如更新终端代码块,使其更加明显,以及其他一些更改。我们还关闭了公共symfony-docs存储库上报告的几个问题。ob娱乐下载
当然,当您移动数百个文档并处理数十万个单词时,可能会出现一些错误。如果某样东西看起来很奇怪或者很难找到,打开一个问题让我们知道。
并特别感谢Fabien帮助合并Symfony.com基础设施的必要更改。ob娱乐下载
你为什么叫它"水星计划"
因为代号很有趣:),因为墨丘利是罗马的沟通和口才之神。还有什么更好的名字来描述我们希望带给Symfony用户的清晰度呢?ob娱乐下载
评论
我想知道是否可以添加一些新的章节,这些章节的主题不是关于Symfony功能本身,而是关于如何用它来构建应用程序。ob娱乐下载ob娱乐下载Symfony在使用最佳实践构建应用程序方面一直很出色。
我正在考虑一个Symfony应用程序的Behat / Mink集成的基本指南,一个生产基本标准REST API应用程序的指南(使用Dunob娱乐下载glas Core API平台,或使用FOSRestBundle)。我谈论的是REST API,因为尽管面向服务的应用程序正在兴起,但文档仍然具有强欧宝官网下载app大的MVC方法。
这样做的目的是向新手展示Symfony可以很容易地满足他们对任何类型的现代应用程序的需求ob娱乐下载,并且除了它的技术功能之外,它还是一个促进最佳实践的框架。关于我提到的主题,有很多教程,但一个起点可能是受欢迎的。
另一方面,有些部分可能会被缩短(例如APC的使用,现在所有PHP版本的Symfony 3都内置了APC。ob娱乐下载x支持)。
不确定人们是否会同意我的观点,但我真的很喜欢你尝试像新人一样思考的方式,我也在努力这么做!
在任何情况下,每个新主题都应该单独考虑。我们不能添加大量的新文章,因为它们需要维护,我们的资源是有限的。最好的策略是在https://github.com/symfony/symfony-docs/issues上打开问题,讨论下一篇ob娱乐下载要添加的文章。
谢谢!
使用私有存储库只是为了避免在这个文档重组过程中产生的所有噪音和混乱。
Hugo Hamon is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now文档组织欧宝官网下载app似乎更容易访问。
非常感谢你的改进。