back-2-95 / fields
该软件包已被弃用且不再维护。未建议替代软件包。
该软件包的最新版本(v0.2)没有可用的许可证信息。
PHP7的CRUD字段API
v0.2
2016-03-28 18:30 UTC
Requires
- php: ^7.0
- zendframework/zend-config: 2.*
Requires (Dev)
- phpunit/phpunit: 5.*
This package is auto-updated.
Last update: 2020-11-11 11:22:05 UTC
README
PHP7的通用字段API。此库仅处理与实体及其相关字段相关的元数据。
待办事项
我会在库可用之前保持此待办事项列表在顶部。
- 验证和强制字段数据结构。现在它们只是任何东西的数组。(进行中)
- 在此结构中,尝试分离通用、表单和显示相关的数据。
- 实现示例(自建仓库)例如使用字段API、mongodb存储和zf2类别的应用程序
API
创建API并设置存储
$api = new \BackTo95\Fields\Api(); $storage = new \BackTo95\Fields\Storage\FileStorage('data/entities'); $api->setStorage($storage);
使用字段创建EntityConfiguration
$track_configuration = new \BackTo95\Fields\Entity\EntityConfiguration([ 'name' => 'track', 'description' => 'Track represents musical track made with tracker software', 'fields' => [ 'title' => [...], 'description' => [...], ], ]);
存储创建的EntityConfiguration
$api->storeEntityConfiguration($track_configuration);
按名称获取存储的EntityConfiguration
$api->getEntityConfiguration('track');
EntityConfiguration数据
示例实体:track(如音乐)
[ 'name' => 'track', 'description' => 'Track represents musical track made with tracker software', 'fields' => [ 'artist' => [ 'name' => 'artist', 'form' => [ 'widget' => 'text', 'filters' => ['trim'], ], 'required' => 1, ], 'title' => [ 'name' => 'title', 'form' => [ 'widget' => 'text', ], 'required' => 1, ], 'description' => [ 'name' => 'description', 'form' => [ 'widget' => 'editor', ], ], 'cover' => [ 'name' => 'cover', 'form' => [ 'widget' => 'image', ], ], 'genre' => [ 'name' => 'genre', 'form' => [ 'widget' => 'tags', 'validators' => [ 'min' => 1 ], ], 'multivalue' => 1, 'required' => 1, ], ] ],
注释:小部件名称可以是任何东西,实现库将决定最终的小部件是什么。例如,"editor"小部件可以是CKeditor、TinyMCE或其他。
输出
此库应仅返回实体及其字段配置,然后可以由其他组件用于存储、渲染、验证等。
渲染
渲染不是此类别的责任。
创建配置的UI
UI不是此库的一部分。它应该是另一个库,该库需要并使用此库。
存储
存储此配置不是此库的一部分,例如https://github.com/back-2-95/fields-mongodb
此库为存储适配器提供接口,并提供基于文件的解决方案作为示例。
默认情况下,此适配器使用路径data/entities
来存储配置。