在Silverstripe中何时使用页面vs数据对象
在创建数据表时,何时在Silverstripe中将Page vs Dataobject用作祖先。我猜从Page类继承会提供数据表页面功能,但这些页面功能是什么 你猜对了;)这通常是一个口味的问题,使用什么,这两种都适用于大多数情况 默认页面功能包括版本控制(stage/live)、URL段和页面嵌套,您可以定义在Silverstripe中何时使用页面vs数据对象,silverstripe,data-objects,Silverstripe,Data Objects,在创建数据表时,何时在Silverstripe中将Page vs Dataobject用作祖先。我猜从Page类继承会提供数据表页面功能,但这些页面功能是什么 你猜对了;)这通常是一个口味的问题,使用什么,这两种都适用于大多数情况 默认页面功能包括版本控制(stage/live)、URL段和页面嵌套,您可以定义$allowed\u children(哪些页面类型可以是该页面的子页面),谁可以查看和编辑页面。。。由于某些原因,可能会有一些开销 如果您不将其作为具有给定嵌套url的独立对象使用,您可
$allowed\u children
(哪些页面类型可以是该页面的子页面),谁可以查看和编辑页面。。。由于某些原因,可能会有一些开销
如果您不将其作为具有给定嵌套url的独立对象使用,您可能会考虑为其使用普通数据对象
另一方面,使用类似或的模块,您可以在GridField或类似ModelAdmin的普通dataobjects中编辑某些页面类型
因此,这两种方法都有各自的优点和缺点,你会发现什么更好,这取决于你自己。只需尝试一下并使用它。需要注意的一点是,
Page
和SiteTree
extendDataObject
本身。这意味着页面
具有与数据对象
相同的行为和功能,并具有其他功能(版本控制、嵌套/树、自动URL和路由等)。如果不需要这些功能,请扩展DataObject
。