stolfam/content-manager-php

5.0.2 2024-05-23 10:31 UTC

This package is auto-updated.

Last update: 2024-09-23 11:12:20 UTC


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