Symfony2 - 捆绑是一个功能......但是什么是功能?

时间:2013-10-30 16:56:13

标签: symfony

我第一次尝试使用Symfony2框架构建应用程序。然而,有很多东西要学习,我的大脑已经充满了所有视频/博客文章/提示/文档,我觉得有点压倒所有这些信息。我想以正确的方式开始我的项目,并确保我的架构会很好。我有点“捆绑”的概念。它意味着与功能相关的所有信息。但后来我问自己......什么是特色?我们如何定义一个特征?

我将从我的项目中得到一个简单的例子。我有一个用户可以注册/登录他们的帐户。登录是一项功能吗?或者是整个管理界面的功能?

我还有第二个例子。在我的应用程序中,我的用户可以将文件上传到服务器。上传者是否在Bundle中(文件验证,复制文件,调整图像大小)?我知道我的上传器会多次使用(上传徽标,产品图片等),我显然想在完成后重复使用我的代码。

1 个答案:

答案 0 :(得分:2)

bundle是一组实现一件事的类 bundle是库和te框架之间的粘合剂。例如,在创建博客时,主捆绑包将是BlogBu​​ndle。你也是一个评论系统,所以它也有一个CommentBundle。对于菜单,您使用KnpMenu库,因此使用KnpMenuBundle。要使de page动态化,您还可以使用SonataBlockBundle和SonataAdminBundle。

这些都是功能。

回答你的情况:所有管理员资料都是一个包。但是这个管理包不包括用户系统,这是UserBundle的任务(例如FosUserBundle)。

在第二种情况下:您有一个MediaBundle来处理特定文件的上传(您在配置中配置)。您还拥有用户系统的UserBundle和某种AdminBundle来控制项目。