atijust / ronin-blade
Laravel Blade 模板引擎作为一个独立的组件
dev-master
2015-09-19 22:20 UTC
Requires
- php: >=5.4
- illuminate/events: ~5.0
- illuminate/view: ~5.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-28 18:10:43 UTC
README
Laravel Blade 模板引擎作为一个独立的组件。
<?php require_once __DIR__ . '/vendor/autoload.php'; $blade = Ronin\Blade::make(__DIR__ . '/views', __DIR__ . '/cache'); echo $blade->make('index', ['message' => 'Hello, world!'])->render();
安装
在你的 composer.json 中要求此包,并运行 composer update 命令。
{ "require": { "atijust/ronin-blade": "dev-master@dev" } }
使用
\Ronin\Blade::make()
返回一个 Illuminate\View\Factory
实例。
$blade = Ronin\Blade::make(__DIR__ . '/views', __DIR__ . '/cache'); echo get_class($blade); // => Illuminate\View\Factory
你可以使用所有 Blade 特性。
// Add a piece of shared data to the environment. $blade->share('defaultTitle', 'Ronin Blade'); // Register a view composer event. $blade->composer('index', 'IndexViewComposer'); // Register a handler for custom directives. $blade->getEngineResolver()->resolve('blade')->getCompiler()->directive( 'datetime', function($expression) { return "<?php echo with{$expression}->format('m/d/Y H:i'); ?>"; } ); // Get the evaluated view contents for the given view. $view = $blade->make('index');
默认情况下,视图构造器和视图创建者是通过 ronin 的内部容器解析的。如果你想使用自己的容器,将 \Ronin\Blade::make()
的第三个参数设置为任何你喜欢的容器。
$container = new \Illuminate\Container\Container(); $container->singleton('IndexViewComposer', function () { return new IndexViewComposer(); }); $blade = \Ronin\Blade::make(__DIR__ . '/views', __DIR__ . '/cache', $container); $blade->composer('index', 'IndexViewComposer'); // Resolved by $container
许可证
Ronin Blade 是开源软件,MIT 许可证下发布。