流行框架第4版的发布标志着项目结构的资本变化.包括官方文档,注意以下有关代码捆绑的内容(http://symfony.com/doc/current/bundles.html):
在4.0之前的Symfony版本中,建议使用bundle组织您自己的应用程序代码.不再推荐使用此选项,并且仅应使用捆绑包在多个应用程序之间共享代码和功能.
在第2版和第3版中,捆绑执行了两项主要任务.1)如果开发人员或他们不同项目中的一组开发人员使用了一个大的重复功能,那么它可以在一个单独的包中取出并从项目转移到项目中.这种使用的一个很好的例子是任何项目中的用户系统.它包括用户,角色,权限(以及可能的其他),实体控制器,用于在应用程序中登录的控制器,注销应用程序(安全策略可能同时不同)以及用于查看的模板的模型.另一个很好的例子是行政小组,其基础是相同的.2)从逻辑的角度来看,Symfony在不同的目录中采用了单独的功能,因此,通过捆绑来命名空间.例如,在我过去的一个项目中,我划分了空间:用户管理系统,应用程序游戏化(社交网络目标),合作伙伴空间,地理环境(用于处理地图和按IP定义城市),支付交易环境.如下.
![Symfony [2-3]项目结构](https://i.stack.imgur.com/pg7kj.png)
在我的下一个项目中,我不想使用除Symfony4之外的任何内容来在实现其新功能时遵循框架的最佳实践.如果官方文档不再坚持创建捆绑包,我怎样才能在不同区域组织逻辑上独立的代码分离?如果模型的所有类都存储在同一目录中,则会产生混淆并增加在大型项目结构中查找所需文件的时间.这同样适用于模板以及其他所有内容.当我使用一个功能时,我只下载了此功能的目录.
现在,Symfony是否鼓励您根据自己的判断定义类,模板等的结构?
我注意到 Realm 支持索引属性。但并非所有数据库系统都支持这一点(或者默认情况下没有显式声明)。
\n\n请解释为什么需要它,以及使用主键有何不同。然后,另一个允许加速查询。但为什么不只使用主键呢?
\n\n很明显,可以对多个属性建立索引,但为什么要这样做呢?也就是说,我并不代表真正的问题,没有使用索引就无法做到(或者也许,但在编程方面这会令人厌恶)。给出几个任务示例,简单地解释索引的优点:没有索引和有索引时它是如何发生的。结果很明显,“在脸上”。
\n\n我用的是斯威夫特。
\n\n对不起我的英语 \xd9\xa9(\xe2\x97\x95\xe2\x80\xbf\xe2\x97\x95)\xdb\xb6
\n