revelateur / bladerunner
Requires
- php: ^7.3 || ^8.0
- illuminate/config: ^8.6
- illuminate/view: ^8.6
- 1.8.2
- 1.8.1
- 1.8
- 1.7.4
- 1.7.3
- 1.7
- 1.7-beta.3
- 1.7-beta.2
- 1.7-beta.1
- 1.7-beta
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6
- 1.5.2
- 1.5.1
- 1.5
- 1.4.3
- 1.4
- 1.3.2
- 1.3.1
- 1.3
- 1.2.1
- 1.2
- 1.1
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0
- 0.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8
- 0.7.1
- 0.7
- 0.6.6
- 0.6.5
- 0.6.4
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6
- 0.5.7
- 0.5.6
- 0.5.5
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5
- 0.4.3
- 0.4.2
- 0.4.1
- dev-release/1.7
- dev-release/1.7-beta.3
- dev-release/1.7-beta.2
- dev-feature/1-7-beta-fix-2
- dev-release/1.6.2
- dev-release/1.6.1
- dev-release/1.6
This package is auto-updated.
Last update: 2024-09-16 15:13:49 UTC
README
Laravel Blade 模板引擎的 WordPress 插件。
要将它安装到基于 Composer 的 WordPress 安装中
composer require revelateur/bladerunner
在 WordPress 内激活插件,并检查带有 *.blade.php 的模板,使其处于活动状态。由于 WordPress 的基本功能,您的主题仍需要一个 index.php。当移除它时,主题会变成损坏的。
如果您不使用基于 Composer 的 WordPress 开发环境,您可以从 Bladerunner 网站 http://bladerunner.aekab.se 下载最新的插件版本,并以常规方式通过 wp-admin 将其上传到 WordPress。
此插件的发布记录列在下面的说明中。
你好,世界!
- 使用 composer 安装库
- 确保缓存文件夹可写,例如
../wp-content/uploads/.cache
- 激活插件
- 创建一个视图,例如
<!-- view file: views/pages/index.blade.php --> Hello World Page rendered at {{ date('Y-m-d H:i:s') }}
- 在您的
index.php
中,添加对创建的视图的全局调用,例如
<?php bladerunner('views.pages.index')
https://laravel.net.cn/docs/5.2/blade
缓存
- 如果设置了
WP_DEBUG
并设置为 true,则模板将始终渲染并更新。 - 在
save_post
时使视图文件(缓存)失效 - (在开发模板时清空
uploads
目录中的 .cache 文件夹是个好主意。例如,在您的 gulp-file 中创建一个del
命令。)
目录
- 您的缓存视图将始终存储在您的 wp 上传文件夹中的
.cache
- 您的视图必须放置在您的主题文件夹中。
- 您的视图必须具有
.blade.php
扩展名。
模板辅助函数
有一个名为 bladerunner
的模板辅助函数,定义全局以在标准 WordPress 模板中使用。
示例:您想创建一个 404 模板,但不希望使用 .blade.php
扩展名来模板文件。
- 在主题根目录中创建一个 404.php。
- 将以下代码添加到模板中
<?php bladerunner('views.pages.404');
- 在
views/pages
文件夹中,创建一个 blade 模板404.blade.php
您可以通过全局 bladerunner
函数传递任何数据,例如
<?php bladerunner('views.pages.404', ['module'=>$module]);
或使用 compact,例如
<?php bladerunner('views.pages.404', compact('module'));
控制器
从版本 1.7 开始,控制器被添加到 Bladerunner。默认情况下,Bladerunner 将在主题文件夹中的 + /controllers 中查找扩展类。如果您想添加或更改控制器路径,请查看下面的过滤器!
控制器类必须扩展 \Bladerunner\Controller 才能正常工作。它将猜测视图的路径,但您可以使用 protected $view='your.custom.view.path''
来覆盖它。
控制器文件遵循与 WordPress 相同的层次结构。您可以使用 Blade 指令 @debug
来查看控制器层次结构。
扩展控制器类,建议类名与文件名匹配。在控制器类中创建方法
- 使用 public function 向 Blade 视图公开返回的值。
- 使用 public static function 在 Blade 视图中使用该函数。
- 使用 protected function 用于内部控制器方法,因为只有公共方法才会公开到视图中。您可以在
__construct
中运行它们。
控制器示例
以下示例将 $images
公开给 views/single.blade.php
controllers/Single.php
<?php namespace App; use Bladerunner\Controller; class Single extends Controller { /** * Return images from Advanced Custom Fields * * @return array */ public function images() { return get_field('images'); } }
views/single.blade.php
@if($images) <ul> @foreach($images as $image) <li><img src="{{$image['sizes']['thumbnail']}}" alt="{{$image['alt']}}"></li> @endforeach </ul> @endif
钩子和过滤器
Bladerunner 不断实现过滤器和钩子来修改值和过程。
钩子
...
过滤器
修改Bladerunners缓存文件夹路径,默认为../wp-content/uploads/.cache
add_filter('bladerunner/cache/path', function() { return '/my/path/to/cache'; });
如果您不想Bladerunners创建缓存文件夹
add_filter('bladerunner/cache/make', function() { return false; });
如果您想自定义存储视图的基准路径,请使用
add_filter('bladerunner/template/bladepath', function ($paths) { if (!is_array($paths)) { $paths = [$paths]; } $paths[] = ABSPATH . '../../resources/views'; return $paths; });
如果您想自定义存储控制器的路径,请使用
add_filter('bladerunner/controller/paths', function ($paths) { $paths[] = PLUGIN_DIR . '/my-fancy-plugin/controllers'; return $path; });
我们将很快将更多的WordPress扩展添加到Bladerunner引擎中。请给我们提供您的优秀示例以便实现!
链接
测试
测试要求
- 最新的Docker安装(不是老式的Boot2Docker)
- PHP Composer 目前仅在OSX上进行了测试。
按步骤测试
通过Composer在仓库内检查测试组件
composer update
使用Testrunner(必需的开发包)和Docker,只需一条命令即可执行测试
vendor/bin/dep testrunner