rudra/view
Composer 安装命令:
composer require rudra/view
包简介
Rudra framework
关键字:
README 文档
README
Rudra-View | API
Install
composer require rudra/view
Using facade
use Rudra\View\ViewFacade as View; echo View::view("layout", [ 'content' => View::view("page", [ 'foo' => 'foo', 'bar' => 'bar' ]), ]);
With caching
use Rudra\View\ViewFacade as View; echo View::cache(['mainpage', "+1 day"]) ?? View::render(["layout", "mainpage"], [ 'content' => View::cache(["page_{$slug}", "+1 day"]) ?? View::view(["page", "page_{$slug}"], [ 'foo' => 'foo', 'bar' => 'bar' ]), ]);
Using render, view helpers
render("layout", [ 'content' => view('page', [ 'foo' => 'foo', 'bar' => 'bar' ]), ]);
With setting data through the data helper
data([ 'content' => view("page", [ 'foo' => 'foo', 'bar' => 'bar' ]), ]); render("layout", data());
With caching
data([ 'content' => cache(["page_{$slug}", "+1 day"]) ?? view(["page", "page_{$slug}"], [ 'foo' => 'foo', 'bar' => 'bar' ]), ]); cache(["mainpage", "+1 day"]) ?? render(["layout", "mainpage"], data());
Adding Twig
composer require "twig/twig:^3.0"
Create factory:
<?php namespace App\Containers\Web\Factory; use Rudra\View\View; use Rudra\View\TwigView; use Rudra\Container\Interfaces\FactoryInterface; class TwigFactory implements FactoryInterface { public function create(): TwigView { $view = new TwigView(); $view->setup( viewPath: dirname(dirname(__DIR__)) . '/Web/UI/tmpl', prefix: '', extension: 'twig' ); return $view; } }
Configure service:
<?php use Rudra\View\View; use Rudra\View\TwigView; use App\Containers\Web\Factory\TwigFactory; return [ 'contracts' => [ ], 'services' => [ // View::class => function () { // $view = new TwigView(); // $view->setup( // viewPath: dirname(__DIR__) . '/Web/UI/tmpl', // prefix: '', // extension: 'twig' // ); // return $view; // } // View::class => fn() => (new TwigFactory())->create(), View::class => TwigFactory::class, ] ];
License
This project is licensed under the Mozilla Public License 2.0 (MPL-2.0) — a free, open-source license that:
- Requires preservation of copyright and license notices,
- Allows commercial and non-commercial use,
- Requires that any modifications to the original files remain open under MPL-2.0,
- Permits combining with proprietary code in larger works.
📄 Full license text: LICENSE
🌐 Official MPL-2.0 page: https://mozilla.org/MPL/2.0/
统计信息
- 总下载量: 274
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-09-16