jyoungblood / stereo-render
PHP抽象函数,帮助更轻松地为Slim框架渲染视图。包括对JSON、HTML和Blade的支持。
Requires
- eftec/bladeone: ^4.13
- eftec/bladeonehtml: ^2.4
README
PHP抽象函数,帮助更轻松地为Slim框架 (v4) 使用纯文本、HTML、JSON和Blade (使用BladeOne) 渲染视图
这些函数旨在为渲染各种类型的数据驱动响应提供简化和标准化的接口,以便与Slim一起使用。
虽然这个包可以与任何Slim4项目一起使用,但它专门设计用于与STEREO互联网工具包一起使用。
安装
使用Composer轻松安装
composer require jyoungblood/stereo-render
use Stereo\render; require __DIR__ . '/vendor/autoload.php';
要求
用法
render::html($request, $response, $string, $status = 200)
将字符串渲染为HTML。返回一个带有可选HTTP状态码(默认为200)的标准Slim(PSR-7)响应对象。
$app->get('/', function ($req, $res, $args) { return render::html($req, $res, '<h2>Hey whats up</h2>'); });
此外,还可以指定一个HTML文件的路径(相对于public Web根目录),以加载和渲染字符串
$app->get('/', function ($req, $res, $args) { return render::html($req, $res, 'hey/whats-up.html'); });
render::text($request, $response, $string, $status = 200)
将字符串渲染为纯文本。返回一个带有可选HTTP状态码(默认为200)的标准Slim(PSR-7)响应对象。
$app->get('/', function ($req, $res, $args) { return render::text($req, $res, 'Hey whats up'); });
render::redirect($request, $response, $string, $status = 302)
将重定向渲染为带有可选HTTP状态码的标准Slim(PSR-7)响应对象。
return render::redirect($req, $res, 'https://google.com/');
render::json($request, $response, $data, $status = 200)
将数组或数据渲染为带有application/json
内容类型和可选HTTP状态码的标准Slim(PSR-7)响应对象。
$app->get('/json/', function ($req, $res, $args) { $data = [ 'name' => 'Ringo', 'friends' => [ 'Paul', 'George', 'John' ] ]; return render::json($req, $res, $data); });
render::blade($request, $response, $parameters, $status = 200)
使用数据数组渲染特定的Blade模板。返回一个带有可选HTTP状态码(默认为200)的标准Slim(PSR-7)响应对象。
$app->get('/', function ($req, $res, $args) { return render::blade($req, $res, [ 'template' => 'index', 'data' => [ 'name' => 'Ringo', 'friends' => [ 'Paul', 'George', 'John' ] ], ], 200); // optional status code, 200 by default });
Blade编译器期望视图和缓存文件分别在public Web根目录下的views
和cache
目录中。这些默认值以及编译模式可以在您的.env
文件中进行自定义
BLADE_VIEWS_PATH = "views" BLADE_CACHE_PATH = "cache" BLADE_MODE = "AUTO"
编译模式可以设置为AUTO
(默认)、SLOW
、FAST
或DEBUG
,有关更多信息,请参阅BladeOne源代码。
查看BladeOne和官方Blade文档,了解您可以使用这个令人难以置信的模板语法做的一切。
还包括BladeOne HTML扩展,方便地创建具有接近原生性能的表单组件。
render::blade_template($parameters)
以与render::blade()
相同的数据数组渲染特定的Blade模板,但返回原始HTML而不是PSR-7响应。
$app->get('/', function ($req, $res, $args) { echo render::blade_template('email/test', [ 'link' => 'https://jy.hxgf.io', ]); return $res; });