arsengoian/viper-blade

一个允许在PHP中使用Blade模板引擎的包

dev-master 2020-01-02 23:55 UTC

This package is auto-updated.

Last update: 2024-08-29 04:54:18 UTC


README

Viper框架的Blade模板语言适配器

有关Blade文档,请参阅 官方Laravel文档中的Blade

使用方法

可以从控制器中使用,如下所示

namespace App\Controllers;

use Viper\Core\Routing\Controller;
use Viper\Core\Routing\Methods\GET;
use Viper\Core\Viewable;
use Blade\View;
use App\Models\Client;

class HomeController extends Controller implements GET
{

    public function get (...$args): ?Viewable
    {
        $clients = Client::all();
        return new BladeView('test', [
            'folks' => $clients,
        ]);
    }

}

异常报告

异常可以在自定义视图中以很好的方式解析。默认情况下,使用 error.blade.php 并传入 $e 变量来处理异常

使用 \Blade\View::bindErrorView() 进行配置

设置

可以从过滤器(官方文档关于过滤器)传递额外的变量和错误首选项

namespace App\Filters;

use Blade\View;
use Viper\Core\Filter;

class BladeFilter extends Filter
{

    public function proceed ()
    {
        // Set up custom error reporting
        if (!Config::get('DEBUG'))
            View::bindErrorView('publicErrorView', 'exception');
        
        // These variables will be visible in all the views
        View::propagateVars([
            'myCustomVar' => 42,
            'clientHandler' => Config::get('Clients.HANDLER'),
        ]);
    }
}