locomotivemtl / charcoal-contrib-embed
嵌入属性的Charcoal服务提供商。
0.2.1
2024-01-25 16:06 UTC
Requires
- php: ^5.6 || ^7.2 || ^8.0
- embed/embed: ^3.4
- guzzlehttp/guzzle: ^6.0 || ^7.0
- guzzlehttp/promises: ^1.4 || ^2.0
- locomotivemtl/charcoal-app: ~0.8
- locomotivemtl/charcoal-config: ~0.10
- locomotivemtl/charcoal-property: ~0.8
- pimple/pimple: ^3.5
- psr/log: ^1.1
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^5.7 || ^6.5
- squizlabs/php_codesniffer: ^3.0
README
一个 Charcoal 服务提供商嵌入属性。
目录
安装
首选(也是唯一支持的)方法是使用 Composer
$ composer require locomotivemtl/charcoal-contrib-embed
依赖项
要求
- PHP 5.6+: PHP 7 建议使用。
- locomotivemtl/charcoal-property : ^0.8
- guzzlehttp/guzzle : ^6.0 或 ^7.0
- embed/embed : ^3.4.10
服务提供商
使用 locomotivemtl/charcoal-contrib-embed 提供以下服务
服务
- embed/repository 为
Embed\EmbedRepository
实例- 提供 Charcoal\Embed\Mixin\EmbedRepositoryTrait 以便于使用。
配置
在项目的配置文件中包含嵌入模块。这将提供 locomotivemtl/charcoal-contrib-embed 正常工作所需的一切。无需 metadata/views/action/routes 路径等。
{ "modules": { "charcoal/embed/embed": {} } }
您可以在项目的配置文件中提供额外的配置,例如
{ "embed_config": { "ttl": 3600, "format": "array", "table": "embed_cache" } }
这是实际默认配置。
使用
Embed Contrib 提供了一个自定义属性类型:"embed"。当使用它时,属性将从媒体提供商获取嵌入数据并将它们存储在第三个表中。
{ "video": { "type": "embed", "l10n": true, "label": { "en": "Video", "fr": "Video" }, "notes": "Full video url. ex.: https://www.youtube.com/watch?v=_VIDEO_ID" } }
要从数据库中加载嵌入数据,请使用 EmbedRepository 服务方法
$this->embedRepository() ->embedData('https://youtube.com/someid');
依赖注入
use EmbedRepositoryTrait; /** * Inject dependencies from a DI Container. * * @param Container $container A dependencies container instance. * @return void */ protected function setDependencies(Container $container) { parent::setDependencies($container); $this->setEmbedRepository($container['embed/repository']); }
开发
要安装开发环境
$ composer install
要运行脚本(phplint、phpcs 和 phpunit)
$ composer test
API 文档
- 自动生成的
phpDocumentor
API 文档可在以下位置找到
https://locomotivemtl.github.io/charcoal-contrib-embed/docs/master/ - 自动生成的
apigen
API 文档可在以下位置找到
https://codedoc.pub/locomotivemtl/charcoal-contrib-embed/master/
开发依赖
- [php-coveralls/php-coveralls][phpcov]
- [phpunit/phpunit][phpunit]
- [squizlabs/php_codesniffer][phpcs]
编码风格
charcoal-contrib-embed 模块遵循 Charcoal 编码风格
- PSR-1
- PSR-2
- PSR-4,因此自动加载由 Composer 提供。
- phpDocumentor 注释。
- phpcs.xml.dist 和 .editorconfig 用于编码标准。
可以使用
composer phpcs
执行编码风格验证/执行。还有一个composer phpcbf
的自动修复器。
致谢
许可证
Charcoal 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。