laraport / blade
laravel illuminate/view 的非官方端口。
该软件包的官方仓库似乎已消失,因此该软件包已被冻结。
0.1.1
2016-08-16 18:14 UTC
Requires
- php: >=5.4.0
- illuminate/view: ^4.2.17
- mikey179/vfsstream: ^1.6
Requires (Dev)
- phpunit/phpunit: 4.*
README
这个PHP库是laravel (L4) blade模板引擎的非官方端口。详见laravel 和illuminate/blade以及文档。这个端口的目的是为了让开发者可以在独立项目或另一个框架中消费它,而不必强制导入整个laravel框架。
需要PHP 5.4或更高版本。
包含一些额外功能
- 支持原始模板字符串渲染。
- 支持自定义文件扩展名。
- 缓存路径是可选的。
目录
安装
此软件包可以通过composer安装。
$ composer require laraport/blade
使用
如果您已经消费过laravel中的blade视图(我相信您已经这样做了),那么现在在独立项目中消费它也同样简单。
laravel 方式
通常的laravel方式是设置视图路径和缓存。
<?php require_once __DIR__ . '/vendor/autoload.php'; $path2views = __DIR__.'/path/to/views'; $path2cache = __DIR__.'/path/to/cache'; $Blade = new Laraport\Blade($path2views, $path2cache); $View = $Blade->make('welcome', ['name' => 'Alice']); echo $View->render();
这将渲染
__DIR__./path/to/views/welcome{.blade}.php
无缓存
新增的一个功能是加载视图而不设置缓存目录。这背后使用了vfsStream。
<?php require_once __DIR__ . '/vendor/autoload.php'; $Blade = new Laraport\Blade(__DIR__.'/path/to/views'); $View = $Blade->make('hello', ['name' => 'Bob']); echo $View->render();
这将渲染
__DIR__./path/to/views/hello{.blade}.php
而没有任何缓存。
原始字符串模板
另一个新增功能是支持原始字符串模板渲染。这也使用了vfsStream。
<?php require_once __DIR__ . '/vendor/autoload.php'; $View = Laraport\Blade::render('Hello {{ $name }}!', ['name' => 'Eve']); echo $View->render();
这将打印出
Hello Eve!
自定义文件扩展名
您也可以为您的blade视图模板设置自定义文件扩展名。
<?php require_once __DIR__ . '/vendor/autoload.php'; $Blade = new Laraport\Blade(__DIR__.'/path/to/views'); $Blade->withExtension('foo.bar'); $View = $Blade->make('custom', ['name' => 'Laravel']); echo $View->render();
这将渲染以下之一:
custom.foo.bar
、custom.blade.php
或custom.php
,找到哪个就渲染哪个。
如果您愿意,可以添加多个扩展名。
共享数据
数据也可以作为全局变量共享给所有视图。
<?php require_once __DIR__ . '/vendor/autoload.php'; $Blade = new Laraport\Blade(__DIR__.'/path/to/views'); $Blade->share('acme', 'baz'); $View = $Blade->make('foo'); echo $View->render();
$acme
将可用于所有视图。
测试
首先确保您在项目源目录中。
执行 composer 安装。
$ composer install
运行测试。
$ vendor/bin/phpunit
或者
$ composer test
相似项目
许可证
版权所有 © Kamal Khan。在 MIT 许可证 下发布。