0

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

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

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

4

1 回答 1

2

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

这些都是特征。

回答您的情况:所有管理内容都是一个捆绑包。但是这个管理包不包括用户系统,这是一个用户包(例如 FosUserBundle)的任务。

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

于 2013-10-30T18:01:42.627 回答