ingwiephoenix/bird3-flipflop

为那些希望谨慎行事的人提供的超级小型的视图引擎。

1.0.0 2015-11-15 00:45 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:42:19 UTC


README

这是FlipFlop。一个非常、非常小的视图引擎,BIRD3使用它在其新的Laravel核心中显示内容。

我之所以制作它,只是因为我只想运行普通的PHP模板,而不需要任何特别花哨的东西。所以我就做了这个!

功能一览

  • 视图默认渲染到布局中。
  • 通过__partial__变量或使用FlipFlop外观实现部分视图。
  • 视图有上下文,因此它们可以使用$this
  • 它只是覆盖了您当前的PhpEngine,这意味着我们100%兼容API。

安装

您的典型

composer require ingwiephoenix/bird3-flipflop

将正常工作。

接下来,您可能需要打开config/app.php并查找

Illuminate\View\ViewServiceProvider::class,

... 然后在其下方添加此内容

BIRD3\Extensions\FlipFlop\Providers\FlipFlopServiceProfider::class,

... 在alias部分中,您会添加

"FlipFlop" => BIRD3\Extensions\FlipFlop\Facades\FlipFlop::class,

.. 完成啦!

用法

<?php
// While bootstrapping...

// By default: app_path("Resources/Views/Layouts")
// But you can always append another path.
View::addLocation(app_path("Resources/theme"));

// Or add modules and such as "namespace". Note, the two are idendical.
View::addNamespace("Derp", app_path("Derp/Views"));

// When sending back a response...

Route::get("/", function(){
    return View::make("Derp::index");
});

Route::get("/bad-guy", function(){
    $view = View::make("Herp::showcase");
    return $view->with(["foo"=>42]);
});

// Use a custom context.
Route::get("/customer", function(){
    // Using traditional View API:
    $view = View::make("Customer::main");
    $view->getEngine()->setContext(Auth::user());

    // Via facade
    $view = FlipFlop::loadWithContext("Customer::main", Auth::user());

    return $view;
});

布局

您通常想定义布局就像任何其他模板一样。比如说,您将其放入app/Resources/Views/Layouts/main.php,然后您可以直接这样做,因为这是FlipFlop将查找的默认值。要更改它

FlipFlop::setDefaultLayout($viewName)

与视图一样,布局的解析方式相同。

您通过$contents变量获取视图内容 - 但您也可以使用View外观提供的功能。如果您不知道,可以查看它实际上可以做什么。