stolfam / content-manager-php
内容管理类
5.0.2
2024-05-23 10:31 UTC
Requires
- php: >= 8.2.0
- latte/latte: ^2.5
- nette/utils: >= 3.0
- stolfam/utils-php8: ^5.0
Requires (Dev)
- nette/tester: >= 2.0
README
这是一个PHP类集合,用于创建和管理多语言内容。
修改器
修改器允许您在最终渲染前临时更改内容。
final class YourModifier implements IModifier {
public function modify(Content $content): Content {
// replace each word 'sample' for 'test'
$content->body = str_replace('sample', 'test', $content->body);
return $content
}
}
这将修改每个在 ContentContainer 中的 Content。
示例
想象一下,您有一块内容如下
$content = new Content(1, 'sample', Language::default(), 'Body of sample content', ['tag1']);
您的仓库(实现接口 IContentRepository)必须在需要时返回包括您的这块内容的 ContentContainer。
// instance of IContentRepository
$contentContainer = $contentRepository->listContent( new ContentFilter([
ContentFilter::TAGS => ['tag1', 'tag2]
]) );
// optional: adding an IModifier
$contentContainer->addModifier( new YourModifier() );
// rendering a content named 'sample'
echo $contentContainer->sample;
您的输出将看起来像这样
Body of sample content
当您添加了修改器 YourModifier,那么您的输出将看起来像这样
Body of test content