项目简介
项目简介
我们需要找一个项目来做。这是一个相当大的挑战,因为我们需要找到一个足够大的项目来完全覆盖Symfony,但同时,它应该足够小;欧宝娱乐app下载地址我不希望您对多次实现类似功能感到厌烦。
揭示项目
如果项目在某种程度上与Symfony及其社区有关,那就太好了。欧宝下载链接欧宝娱乐app下载地址由于我们每年都会组织一些在线和面对面的会议,我们是否可以留言板?我们用法语说" livre d'or "我喜欢在21世纪制作留言簿的那种老式和过时的感觉!
我们有。这个项目是关于获得会议的反馈:主页上有一个会议列表,每个会议都有一个页面,充满了不错的评论。评论由一些小文字和会议期间拍摄的可选照片组成。我想我已经写下了我们开始所需的所有规格。
的项目将包含几个应用程序。一个具有HTML前端、API和手机SPA的传统web应用程序。听起来怎么样?
学习即实践
学习就是实践。时期。读一本关于Symfony的书是很好的。欧宝娱乐app下载地址在阅读有关Symfony的书籍的同时,在您的个人计算机上编写应用程序是更好的选择。欧宝娱乐app下载地址这本书非常特别,因为它所做的一切都是为了让您跟随、编码,并确保获得与我最初在机器上编码时相同的结果。
这本书包含了你需要写的所有代码和你需要执行的所有命令来得到最终的结果。没有代码丢失。所有的命令都被写下来。这是可能的,因为现代Symfony应用程序只有很少的样板代码。欧宝娱乐app下载地址我们将一起编写的大部分代码都是关于项目的业务逻辑。其他的一切对我们来说都是自动生成的。
查看最终的基础结构图
即使项目想法看起来很简单,我们也不会构建一个类似“Hello World”的项目。我们将不仅仅使用PHP和数据库。
我们的目标是创建一个具有现实生活中可能遇到的一些复杂性的项目。想要证明吗?看看项目的最终基础设施:
使用框架的最大好处之一是开发这样的项目所需的代码很少:
- 下面有20个PHP类
src /
对于网站; - 550 PHP逻辑代码行(LLOC)PHPLOC;
- 在3个文件中调整了40行配置(通过属性和YAML),主要用于配置后端设计;
- 20行开发基础设施配置(Docker);
- 100行生产基础设施配置(Platform.sh);
- 5个显式环境变量。
准备好迎接挑战了吗?
获取项目源代码
为了继续老式的主题,我可以创建一个包含源代码的CD,对吗?但是如果有一个Git存储库伙伴呢?
克隆的留言板库在您本地机器的某个地方:
1
$欧宝娱乐app下载地址Symfony新——版本=6.2-1——书留言簿
这个存储库包含本书的所有代码。
注意,我们正在使用欧宝娱乐app下载地址symfony的新
而不是git克隆
因为该命令不只是克隆存储库(托管在Github下的快节奏的生活
组织:https://github.com/the-fast-track/book-6.2-1
).它还启动web服务器,容器,迁移数据库,加载fixture,…运行该命令后,网站应该启动并运行,可以使用了。
代码100%保证与书中的代码同步(使用上面列出的确切的存储库URL)。试图手动将书中的更改与存储库中的源代码同步几乎是不可能的。我以前试过。我失败了。这是不可能的。尤其是像我写的那些书:告诉你一个关于开发网站的故事的书。由于每一章都依赖于前一章,因此一个变化可能会对所有后续章节产生影响。
好消息是,这本书的欧宝app在哪里找Git存储库是自动生成的从书的内容。你没看错。我喜欢自动化一切,所以有一个脚本,它的任务是阅读这本书并创建Git存储库。有一个很好的副作用:在更新书籍时,如果更改不一致或如果我忘记更新一些说明,脚本将失败。这就是BDD,书驱动开发!
浏览源代码
更好的是,存储库不仅仅是关于代码的最终版本主要
分支。该脚本执行书中解释的每个操作,并在每个部分的末尾提交其工作。它还标记了每个步骤和子步骤,以方便浏览代码。不错,不是吗?
如果您很懒,可以通过签出正确的标记在步骤的末尾获得代码的状态。例如,如果你想阅读和测试第10步末尾的代码,执行以下命令:
1
$欧宝娱乐app下载地址Symfony book:结账
像克隆存储库,我们不使用git checkout
但欧宝娱乐app下载地址symfony的书:结账
。该命令确保无论您当前处于何种状态,最终都会为您所要求的步骤提供一个功能齐全的网站。请注意,此操作将删除所有数据、代码和容器。
你也可以检查任何子步骤:
1
$欧宝娱乐app下载地址Symfony book:checkout 10.2
同样,我强烈建议您自己编写代码。但是,如果你遇到了困难,你可以将你所拥有的内容与书中的内容进行比较。
不确定你在子步骤10.2中做对了吗?获取差异:
1 2 3 4
$Git diff step10 -1…step10 -2#对于第一步的第一个子步骤:$Git diff step9…step10 -1
想知道什么时候创建或修改了文件?
1
$git日志——src /控制器/ ConferenceController.php
你也可以直接在GitHub上浏览差异、标签和提交。如果你正在阅读纸质书,这是一个复制/粘贴代码的好方法!