orbito/render-client

Orbito Render 的 HTTP 客户端

0.0.2 2022-08-06 00:45 UTC

This package is auto-updated.

Last update: 2024-09-06 05:24:51 UTC


README

Latest Stable Version Latest Unstable Version codecov Total Downloads Github actions Build PHP Version Require

用于与 Orbito Render 一起使用的 HTTP 客户端。

composer require orbito/render-client
use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestFactoryInterface;
use Psr\Http\Message\StreamFactoryInterface;
use Psr\Log\LoggerInterface;
use Orbito\RenderClient\RenderClient;
use Orbito\RenderClient\TemplateRef;
use Orbito\RenderClient\TemplateOptimize;

$render_client = new RenderClient(
    [
        'default' => 'http://localhost:4250',
    ],
    ClientInterface         $http_client,
    RequestFactoryInterface $request_factory,
    StreamFactoryInterface  $stream_factory,
    LoggerInterface         $logger,
);
$content = $this->renderer->render(
    'default', 'en', 'main',
    new TemplateRef('my-tpl', 'pages/default'),
    TemplateOptimize::makeFor('html'),
    [],// data
    [],// styleVars
    ['renderText' => true],// optional, options
    null|string,// optional, trace for logging
);
if(!$content) {
    return;
}
error_log('Rendered in ' . $content->renderTime . 'ms');
$html = $content->rendered;

$style = $this->renderer->style(
    'default', 'main', 'my-tpl',
    ['nanoCss' => true, 'cssAutoPrefix' => false],
    [],// styleVars
);
if(!$style) {
    return;
}
error_log('Generated style in ' . $style->styleTime . 'ms');
$css = $style->style;

开发者通知

设置和运行测试等的命令

# on windows:
docker run -it --rm -v %cd%:/app composer install

docker run -it --rm -v %cd%:/var/www/html php:8-cli-alpine sh

docker run --rm -v %cd%:/var/www/html php:8-cli-alpine sh -c "cd /var/www/html && ./vendor/bin/phpunit --testdox -c phpunit-ci.xml --bootstrap vendor/autoload.php"

# on unix:
docker run -it --rm -v `pwd`:/app composer install

docker run -it --rm -v `pwd`:/var/www/html php:8-cli-alpine sh

docker run --rm -v `pwd`:/var/www/html php:8-cli-alpine sh -c "cd /var/www/html && ./vendor/bin/phpunit --testdox -c phpunit-ci.xml --bootstrap vendor/autoload.php"

版本

该项目遵循 semver直到 1.0.0,并从 0.1.0 开始:所有 0.x.0 版本都像 MAJOR 版本,所有 0.0.x 像 MINOR 或 PATCH 版本,小于 0.1.0 的模块应被视为实验性。

许可证

该项目是免费软件,在MIT 许可证下分发。

MIT 许可证

© 2022 bemit

贡献者

通过将代码提交到代码仓库,您同意在仓库附带的 MIT 许可证下发布代码。