Silverstripe v4 MVC Directories?



我想知道为什么SS4主目录中没有"模型/视图/控制器"目录?似乎一切都应该进入" MySite/Code"。如何完成MVC样式?

MVC更像是一种软件架构模式,而不是组织文件的方式。SilverStripe框架对您应该如何组织代码只有几个假设:

模型

使用SilverStripe 4,每个模块的默认代码文件夹命名为srccode。在该文件夹中,您可以自由地组织文件。理想情况下,您以PSR-4的方式构建文件夹结构,以便您的文件夹名称与您的名称空间匹配。

控制器

与模型类相同,您可以将控制器放在所需的任何位置。

Page类有一个默认假设。这些期望匹配控制器具有与页面相同的名称空间。因此,如果您的页面命名:CompanyModulePagesMyPage,则该框架将寻找CompanyModulePagesMyPageController

,您可以自由覆盖,通过在页面上实现getControllerName方法并返回FQCN以供控制器使用。

视图

也称为"模板",应在templates文件夹中。每个模块(您的mysite文件夹也是一个模块(可以具有templates文件夹。

除此之外,您还可以拥有主题。主题通常捆绑模板,CS和其他资产。在themes文件夹中,您可以具有多个主题文件夹,每个文件夹都可以具有templates文件夹。

最新更新