imonroe / crps
冷读器持久化存储系统
1.3.1
2018-06-17 03:30 UTC
Requires
- php: ~5.6|~7.0
- doctrine/dbal: ^2.5
- illuminate/support: ~5.1
- imonroe/mimeutils: ^0.1
- laravel/framework: >5.4
- laravelcollective/html: >5.4.0
- league/commonmark: ^0.16
- spatie/laravel-medialibrary: ^6.0.0
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0||~6.0
- squizlabs/php_codesniffer: ^2.3
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。有关更多信息,请参阅许可证文件。