Silverstripe 银条混淆

Silverstripe 银条混淆,silverstripe,Silverstripe,对于如何在SilverStripe 3中使用RESTful服务器API,我有点困惑。我刚刚开始学习,以下几点让我感到困惑 我们网站上的所有内容都存储在数据库中。作为DataObject类的子类的每个类在我们的数据库中都有自己的表 这样一个类的每个对象都将对应于该表中的一行-这是我们的数据对象,模型视图控制器的模型。页面类型有一个数据对象,它表示页面的所有数据。它不是直接从DataObject继承,而是从SiteTree继承。我们通常创建一个页面数据对象,并将其子类化为所有其他页面类型。这使我们能

对于如何在SilverStripe 3中使用RESTful服务器API,我有点困惑。我刚刚开始学习,以下几点让我感到困惑

我们网站上的所有内容都存储在数据库中。作为DataObject类的子类的每个类在我们的数据库中都有自己的表

这样一个类的每个对象都将对应于该表中的一行-这是我们的数据对象,模型视图控制器的模型。页面类型有一个数据对象,它表示页面的所有数据。它不是直接从DataObject继承,而是从SiteTree继承。我们通常创建一个页面数据对象,并将其子类化为所有其他页面类型。这使我们能够定义网站中所有页面的一致行为

我这样做是为了设置页面,但现在我正在学习RESTful服务器API,它说创建一个扩展DataObject的对象

请原谅我的无知,但这不是一回事吗


非常困惑,因此希望得到一些启示。

您是否查看了以下URL:


此示例允许您以RSS格式提供数据。我不确定是否有一种简单的方法可以将数据输出为JSON,但在web上有很多将rss转换为JSON的示例,因此您可以简单地更新应用程序以使用这种格式,并在需要时进行转换。

您是否查看了以下URL:


此示例允许您以RSS格式提供数据。我不确定是否有一种简单的方法可以将数据输出为JSON,但是在web上有很多将rss转换为JSON的示例,因此您可以简单地更新应用程序以使用这种格式,并在需要时进行转换。

如前所述,如果您扩展SiteTree,那么您就是在扩展DataObject,但会产生大量开销。这些开销中的一些可能对您有用,因为SiteTree提供了版本控制、层次结构和其他好的技巧,使其成为站点中页面的好类

但是,如果您想要管理许多对象,或者如果您不使用层次结构或版本控制模型,或者如果您只想自定义对象在CMS中的显示或管理方式,那么最好直接扩展DataObject。在SilverStripe上有关于这方面的各种教程,等等

也可能对你有用

一旦DataObject子类运行良好,就可以开始向其添加RestfulServer功能。最基本的方法是向类中添加静态属性:

static $api_access = true; 

有关使用RestfulServer的更多信息,如上文所述,如果您扩展SiteTree,那么您就是在扩展DataObject,但会产生大量开销。这些开销中的一些可能对您有用,因为SiteTree提供了版本控制、层次结构和其他好的技巧,使其成为站点中页面的好类

但是,如果您想要管理许多对象,或者如果您不使用层次结构或版本控制模型,或者如果您只想自定义对象在CMS中的显示或管理方式,那么最好直接扩展DataObject。在SilverStripe上有关于这方面的各种教程,等等

也可能对你有用

一旦DataObject子类运行良好,就可以开始向其添加RestfulServer功能。最基本的方法是向类中添加静态属性:

static $api_access = true; 

有关使用RestfulServer的更多信息可用

SiteTree也在扩展DataObject,但如果您不使用响应schellmax的父/子关系等“页面”,则会带来大量开销。我的困惑在于页面的结构。基本上,我设置了另外两种页面类型,它们扩展了页面,扩展了SiteTree。如果我理解正确,在新的页面中扩展DataObject基本上是一样的?就数据库生成而言,这是一样的,是的-但我还不确定您在追求什么…?如果您有扩展Page类的新页面,那么它们已经扩展了DataObject类。SiteTree、Page和任何扩展它们的东西都来自DataObject。添加静态$api_access=true;有关为数据/页面设置API接口的更多完整说明,请参阅自定义页面类。@schellmax基本上我正在尝试创建一个CMS后端,该后端接收信息并以JSON格式将其输出到混合应用程序。我不希望像通常那样将信息输出到已发布的站点。SiteTree也在扩展DataObject,但如果您不使用响应schellmax的父/子关系等“页面”,则会带来大量开销。我的困惑在于页面的结构。基本上,我设置了另外两种页面类型,它们扩展了页面,扩展了SiteTree。如果我理解正确的话
在新的页面中添加DataObject基本上是一样的?就数据库生成而言,这是一样的,是的-但我还不确定您在追求什么…?如果您有扩展Page类的新页面,那么它们已经扩展了DataObject类。SiteTree、Page和任何扩展它们的东西都来自DataObject。添加静态$api_access=true;有关为数据/页面设置API接口的更多完整说明,请参阅自定义页面类。@schellmax基本上我正在尝试创建一个CMS后端,该后端接收信息并以JSON格式将其输出到混合应用程序。我不希望信息像往常一样输出到发布的站点,我在看SilverStripe 2.4附带的RESTful服务器API。有一种方法可以使用它和类似的东西输出JSON。无论如何,谢谢你我在看SilverStripe 2.4附带的RESTful服务器API。有一种方法可以使用它和类似的东西输出JSON。无论如何,谢谢你