utg/epg-client
Composer 安装命令:
composer require utg/epg-client
包简介
HTTP Client for EPG API
README 文档
README
Installation
$ composer require utg/epg-client ^2.0
Then you need to implement \EpgClient\ConfigInterface on you project.
It would be persistent storage for client config variables.
Get account specific entities
Client initialization by read-only api key:
/** @var \EpgClient\ConfigInterface $config */
$config = new YourConfig();
$config->set($config::API_URL, 'https://<api_url>');
$config->set($config::API_KEY, '<your_api_key>');
$client = new EpgClient\Client($config);
$client->setAuthType(EpgClient\Client::AUTH_TYPE_API_KEY);
$client->setAcceptLanguage(EpgClient\Client::LANG_UK); #optional
Channels:
/** @var EpgClient\Context\AccountChannel[] $channels */
$channels = $client->getAccountChannelResource()
->get()
->exec()
->getArrayResult();
/** @var EpgClient\Context\AccountChannel $channel */
$channel = $client->getAccountChannelResource()
->get($channelId)
->exec()
->getSingleResult();
Categories:
/** @var EpgClient\Context\AccountCategory[] $categories */
$categories = $client->getAccountCategoryResource()
->get()
->exec()
->getArrayResult();
/** @var EpgClient\Context\AccountCategory $categorie */
$category = $client->getAccountCategoryResource()
->get($categoryId)
->exec()
->getSingleResult();
Genres:
/** @var EpgClient\Context\AccountGenre[] $genres */
$genres = $client->getAccountGenreResource()
->get()
->exec()
->getArrayResult();
/** @var EpgClient\Context\AccountGenre $genre */
$genre = $client->getAccountGenreResource()
->get($genreId)
->exec()
->getSingleResult();
Programs:
/**
* You can get program collection by instance of Channel
*
* @var EpgClient\Context\Channel $channel
* @var EpgClient\Context\AccountProgram[] $programs
*/
$programs = $client->getAccountProgramResource()
->getByChannel($channel)
->setPeriod(AccountProgramResource::PERIOD_NOW)
->exec()
->getArrayResult();
/**
* Or you cat get program collection by channel id
*
* @var string $channelId
* @var EpgClient\Context\AccountProgram[] $programs
*/
$programs = $client->getAccountProgramResource()
->getByChannelId($channelId)
->setPeriod(AccountProgramResource::PERIOD_TODAY)
->exec()
->getArrayResult();
/**
* Search program by title
*/
$programs = $client->getAccountProgramResource()
->getByTitle('Program title')
->setPeriod(AccountProgramResource::PERIOD_MONTH)
->limit(10)
->exec()
->getArrayResult();
/**
* @var string $programId
* @var EpgClient\Context\AccountProgram $program
*/
$program = $client->getAccountProgramResource()
->get($programId)
->exec()
->getSingleResult();
Manage entities
Client initialization by login/password
/** @var \EpgClient\ConfigInterface $config */
$config = new YourConfig();
$config->set($config::API_URL, 'https://<api_url>');
$config->set($config::API_ADMIN, '<your_admin_user>');
$config->set($config::API_PASSWORD, '<your_admin_password>');
$client = new EpgClient\Client($config);
# Optional client settings
$client->setAcceptLanguage(EpgClient\Client::LANG_UK);
Channels (full example):
/** @var EpgClient\Context\AccountChannel[] $channels */
$channels = $client->getAccountResource()
->getChannels()
->disablePagination() # optional: pagination disable
->withGroup(EpgClient\Resource\ChannelResource::GROUP_TRANSLATIONS) # optional: translations, images, ...
->setLanguage(EpgClient\Client::LANG_UK) # optional: set language only for one request
->exec()
->getArrayResult();
Categories (short example):
/** @var EpgClient\Context\AccountCategory[] $categories */
$categories = $client->getAccountResource()
->getCategories()
->exec()
->getArrayResult();
Genres:
/** @var EpgClient\Context\AccountGenre[] $genres */
$genres = $client->getAccountResource()
->getGenres()
->exec()
->getArrayResult();
Coming soon later, for another example please look at tests/Integration
utg/epg-client 适用场景与选型建议
utg/epg-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.05k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 05 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 utg/epg-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 utg/epg-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 2.05k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2020-05-17