trms / carousel
一个用于访问Tightrope Media Systems的Carousel软件API的PHP包
Requires
- guzzlehttp/guzzle: ~6.0
- larapack/dd: 1.*
- nesbot/carbon: ^1.22
- tightenco/collect: ^5.4
Requires (Dev)
- mockery/mockery: ~0.9.4
- phpunit/phpunit: ~5.4
This package is not auto-updated.
Last update: 2024-09-29 04:14:33 UTC
README
Carousel API的PHP包
此包旨在作为Tightrope Media Systems的Carousel API的流畅接口。有关TRMS和Carousel软件的更多信息,请访问www.trms.com。
Carousel API
此包需要拥有版本7或更高版本的Carousel软件。有关Carousel API的一般信息,可以在您的carousel服务器上的your_carousel_server/carouselapi中找到。
包安装
此包应使用composer安装,并需要PHP 7+
composer install trms/carousel
示例
服务器与请求
Carousel模型
抛出异常
基本用法示例
创建服务器实例
返回多个对象的server方法将返回一个集合,它可以像数组一样处理。
use TRMS\Carousel\Server\API; $server = new Server(); $server->connect('http://my_carousel_server.com', 'username', 'password');
请求Carousel资源
所有Carousel资源的请求都通过实例化一个带有适当Model类名称的ModelRequest并传递给服务器的get方法来创建。向ModelRequest传递参数数组也很重要,这样您的查询就仅限于您想要获取的项目。
例如,要获取给定区域的公告集
use TRMS\Carousel\Requests\ModelRequest; use TRMS\Carousel\Models\Bulletin; $request = new ModelRequest(Bulletin::class, ['ZoneID'=>'5','IsDeleted'=>false]); $bulletins = $server->get($request);
保存资源
可以通过将它们传递到服务器实例上的save方法来保存新或现有资源。
use TRMS\Carousel\Models\BulletinTag; $new_tag = new BulletinTag(['TagName'=>'My New Tag']); $server->save($new_tag);
从模板创建公告
通常,您将创建新公告,而不是从现有模板创建。有关模板的更多信息,请见下文。请注意,所有公告都必须属于一个组,并且在保存新创建的公告之前,必须先创建并关联此组。有关此信息的更多内容,请参阅下文的公告部分。
use TRMS\Carousel\Requests\ModelRequest; use TRMS\Carousel\Models\Bulletin; use TRMS\Carousel\Models\Group; use TRMS\Carousel\Models\Template; $templates = $server->get(new ModelRequest(Template::class, ['ZoneID'=>'5','IsDeleted'=>false])); $template = $templates->first(); // the server returns a Laravel Collection. $bulletin = Bulletin::fromTemplate($templates->first()); // here you would likely modify the bulletin's 'Blocks' to alter content $group = new Group(['ZoneID'=>'5']); $server->save($group); $bulletin->setGroup($group); $server->save($bulletin);
从文件上传创建内容
您可以通过将文件上传到Carousel服务器来创建新的媒体和公告。这是通过实例化一个带有适当Model类名称和传递参数数组的FileUploadRequest来完成的。需要ZoneID。然后,您可以通过链式调用addFile方法添加您要上传的文件,然后将请求传递到服务器的upload方法。这将返回一个数组,其中包含每个添加的文件的模型。
use TRMS\Carousel\Request\FileUploadRequest; use TRMS\Carousel\Model\Media; $request = new FileUploadRequest(Media::class, ['ZoneID'=>'5']); $request->addFile('/path/to/local/file.jpg')->addFile('http://path/to/remote/file'); $media = $server->upload($request);
实体
服务器与请求
API
TRMS\Carousel\Server\API
这代表了Carousel服务器本身
方法
ModelRequest
TRMS\Carousel\Requests\ModelRequest
模型请求用于从服务器获取模型。
方法
FileUploadRequest
TRMS\Carousel\Requests\FileUploadRequest
文件上传请求用于将图片、视频或音频发布到服务器,以便使用它创建内容,无论是作为媒体资产还是作为公告。
方法
BulletinOrderRequest
TRMS\Carousel\Requests\BulletinOrderRequest
公告顺序请求用于获取特定区域的组/公告顺序。创建请求时需要一个ZoneID作为参数。有关更多信息,请参阅下文的公告排序部分。
方法
模型
Bulletin
TRMS\Carousel\Models\Bulletin
公告是在轮播图中显示的内容。最接近的类比是演示文稿中的幻灯片。
方法
属性
模板
TRMS\Carousel\Models\Template
模板是标准公告的起点,包括一个背景图像和一系列内容块。
方法
属性
BulletinBlock
TRMS\Carousel\Models\BulletinBlock
BulletinBlock是公告或模板内的内容区域。块可以是文本、图片、视频或Web图片。文本块只是包含文本的块。图片和视频块将使用媒体对象。Web图片块将使用图片的URL。每个块都有许多属性,其中一些仅适用于四种BlockType之一。许多属性用于产生效果,如阴影或文字发光。
方法
属性
组
TRMS\Carousel\Models\Group
组是公告的容器,便于查看、排序和排序。重要的是要注意,每个公告都包含在一个组中,并且在保存之前必须分配一个已保存的组。(此包对编辑组的功能正在开发中。)
方法
属性
媒体
TRMS\Carousel\Models\Media
媒体表示用于公告和模板的音频、视频、图像和背景。此内容针对Carousel UI用户具有区域特定性。上传背景时,必须指定媒体类型,否则系统将假定它是图像。背景也应针对其预期的区域进行缩放,以避免扭曲图像。视频内容应为mp4格式。
方法
属性
区域
TRMS\Carousel\Models\Zone
区域是屏幕上公告显示的区域。屏幕(频道)可以由一个或多个区域组成。
方法
属性
标签
标签是可添加到关联模型的元数据。它们用于在Carousel中搜索和排序内容。
BulletinTag
TRMS\Carousel\Models\BulletinTag
MediaTag
TRMS\Carousel\Models\MediaTag
ZoneTag
TRMS\Carousel\Models\ZoneTag
方法
属性
公告排序
这些对象用于在区域中排序公告。
BulletinOrder
TRMS\Carousel\Models\BulletinOrder
这代表了一个区域中组的位置。每个BulletinOrderEntry代表一个组。OrderEntries数组中元素的顺序将是区域中组的顺序。
属性
BulletinOrderEntry
TRMS\Carousel\Models\BulletinOrderEntry
这代表了一个组和其公告的顺序。Bullets数组中元素的顺序将是组中公告的顺序。
属性
异常
如果服务器出现问题,或者您尝试执行不受支持或不允许的操作,可能会抛出以下异常。
TRMS\Carousel\Exceptions\CarouselAPIException TRMS\Carousel\Exceptions\CarouselModelException TRMS\Carousel\Exceptions\CarouselRequestException