imonroe/crps

冷读器持久化存储系统

1.3.1 2018-06-17 03:30 UTC

This package is auto-updated.

Last update: 2024-09-13 06:24:05 UTC


README

CRPS是冷读器持久化存储系统。单从它本身来看,可能并不觉得特别有用;它里面没有任何前端信息。对于实际工作中的应用,请安装完整的Coldreader项目。

CRPS旨在成为一个数据库系统,用于存储你事先不知道要存储什么类型的信息。它实现了一种数据模型,其中包含大量任意主题,每个主题都有任意数量的方面。

方面可以被视为与主题相关的一些事实或内容。方面数据以文本形式存储在数据库中,广义上讲。例如,JSON被视为文本,超链接、标记等也是如此。除了存储数据外,方面还可以是纯功能性的——调用外部API、网络爬虫抓取其他地方的内容等。每种类型的方面都有一个用于在模板中使用的显示方法。此外,每种类型的方面还有一个parse()函数,可以被计划任务自动调用。从这个函数中,方面可以对数据模型执行操作;从外部源获取新数据、更新其自身值或创建/更新其他主题或方面。

创建新的方面类型既简单又快捷。创建时,新的方面类型将自动添加必要的GUI表单的新样板代码(通过Laravel Collective Form API)和覆盖方法;方面类型定义是父方面类型的OOP子类,并继承其方法。自定义方面类型也可以是其他自定义方面类型的子类,因此如果您创建了APIResultsAspect类,您可以创建一个FacebookAPIResultsAspect类,该类继承您为APIResultsAspect所做的工作,例如。

依赖项

  • Laravel 5.4+
  • laravelcollective/html 5.4+
  • spatie/laravel-medialibrary 6+
  • league/commonmark 0.16+
  • imonroe/mimeutils 0.1+

安装

通过Composer

$ composer require imonroe/crps

使用

$subject = new Subject;
foreach ($subject->aspects() as $aspect){
	$aspect->display_aspect();
}

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

贡献

有关详细信息,请参阅贡献行为准则

安全

如果您发现任何与安全相关的问题,请通过电子邮件ian@ianmonroe.com联系,而不是使用问题跟踪器。

鸣谢

  • [Ian Monroe][link-author]
  • [所有贡献者][link-contributors]

许可证

GPL V3。有关更多信息,请参阅许可证文件