使用 Blade 从命令行渲染文件
发布日期:作者: Paul Redmond
使用 Laravel 的 Blade CLI 包,您可以在命令行中使用 Blade 引擎渲染文件。此包不支持您在 Laravel 中熟悉的所有 Blade 指令,但支持常见的指令,如 @if
、@else
、@foreach
、@forelse
、@while
等。
以下示例文件来自自述文件
name: {{ $name }}relationship: {{ $relationship }}favorite_food: {{ $favoriteFood }}@if($includeAddress)address: "123 example lane"@endif
您可以使用 CLI 渲染该文件
blade render ./person.yml \ --name="Bob" \ --relationship="Uncle" \ --favorite-food="Pizza" \ --include-address \ --save-directory="build/"
该文件将保存在 ./build/person.yml
中
通过 composer 在全局安装此项目,您就可以使用 blade
CLI 命令。但是,您也可以直接使用此包中的代码
use BladeCLI\Blade;use Illuminate\Container\Container;use Illuminate\Filesystem\Filesystem; $blade = new Blade( container: new Container, filesystem: new Filesystem, filePath: '/path/to/file/to/render', options: [ 'force'=> true, // force overwrite existing rendered file 'save-directory'=>'save-to-dir' // optional directory to save rendered file to. Default is current directory. ]); // render the file with this data/vars$blade->render([ 'var'=>'example']);
您还可以通过使用 --from-json
标志将数据以 JSON 格式传递给模板,此标志接受指向 JSON 文件的路径。最后,您可以使用此包处理整个模板目录
php blade render templates/ --some-data=foo --force
您可以在 GitHub 上了解此包,获取完整的安装说明,并查看 源代码。