Symfony Bundle开发课程介绍(免费试看)-Symfony Bundle开发

您需要登录后才可观看此视频

为了更好的为您提供服务,请您登录后再查看本课程。

立即登录

课程介绍

大家好,我是伟伟权,您正在观看的是Symfony Bundle开发视频教程。在Symfony5全面开发视频教程中,我们从Symfony的网站flex.symfony.com这个网站上,搜索并下载了很多Symfony的组件或者第三方的Bundle。当composer安装完Symfony的组件或者第三方的Bundle之后,Flex组件会自动的从Symfony的recipe仓库中,下载对应的配置文件到我们的项目中。这些Symfony的组件或者第三方的Bundle,扩展了我们项目的功能。

Symfony recipe仓库地址:
https://github.com/symfony/recipes (官方组件的recipe仓库)
https://github.com/symfony/recipes-contrib  (第三方组件的recipe仓库)

在本套视频教程中,我们将创建一个Bundle,并且将Bundle默认的配置文件上传到Symfony的recipe仓库。这样如果有用户下载了我们的Bundle,那么Flex组件就会自动的下载recipe配置文件到Symfony项目中。

学习Bundle开发的一个好处,就是可以更好的学习Symfony。Bundle的开发是有一套规范的。只要我们掌握了这套规范,那么查看第三方的Bundle或者查看Symfony的开源项目时,那么对我们代码的阅读就会有大大的帮助。

打开我们之前的Teebblog项目。打开第一篇文章,在评论表单这里,我们增加了文件上传的功能。回到Teebblog项目源码,我们打开src目录下Entity目录。为了处理文件的上传。我们创建了FileManaged类,用于保存文件的数据。然后我们创建了一个文件上传的表单行FileManagedType类。我们打开FileManagedType类,在FileManagedType类中,我们增加了表单的事件监听处理。当有文件上传时,首先我们将文件移动到指定的目录。然后将上传的文件信息封装为一个FileManaged对象。然后设置回表单,我们想把这块功能提取出来,创建成一个Bundle。

这样如果在其他项目中也要实现相同的文件上传功能,我们就可以直接使用我们自己的Bundle了。这样就可以节省代码的开发,不用重复造轮子了。当然,我们还需要扩展Bundle的一些功能。

现在我们的文件是上传到本地服务器的,直接使用move方法就可以了。但是如果有一天,我们上传的文件需要上传到第三方的云平台,比如说阿里或者腾讯的对象存储。那么该怎么办呢?

在Bundle中我们将实现这些功能,这就是我们Bundle开发的主要内容。最后,我们将阅读一个Symfony的开源项目PrestaShop的源码,来学习下Symfony项目代码阅读的技巧。

课程讨论

当前内容评论功能已关闭。