kesty/view

Laravel 视图独立版

v1.0.0 2018-03-27 06:40 UTC

This package is auto-updated.

Last update: 2024-09-24 16:31:39 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

Laravel Blade 视图独立版

好的,到目前为止,希望你已经听说过Laravel,这个让事情变得简单的PHP框架。所以首先,首先要归功于Taylor OtwellBrad Jones为Blade API做出的贡献。

如何安装

通过composer安装非常简单

composer require kesty/view: dev-master

如何使用

在你的遗留 - 非 Laravel 应用程序中。你可以像这样使用 Laravel Blade API

// Make sure you have composer included
require('vendor/autoload.php');

// Create a new View Instance
$views = new Lara\View('/path/to/my/views');

// Next you will probably want to make the view object global.
$views->globalise();

就是这样,现在你可以使用以下代码

echo View::make('greeting', array('name' => 'Mike'));

这里的视图可能看起来像

<!-- View stored in /path/to/my/views/greeting.php -->

<html>
    <body>
        <h1>Hello, <?php echo $name; ?></h1>
    </body>
</html>

有关视图API的更多信息,请参阅:https://laravel.net.cn/docs/responses#views https://laravel.net.cn/docs/templates#blade-templating

视图作用域

当你运行$views->globalise();时,它会检查全局是否存在View类。如果不存在,它将使用class_alias函数将其别名,就像Laravel应用程序一样。

这使得我们可以使用熟悉的View API。

视图包含路径

你可以提供一个路径数组,而不仅仅是一个路径。因此,实际上你可以有一个视图包含路径。这在设置HMVC类型系统时非常方便。以下是一个例子

$views = new Lara\View(['/views/specific', '/views/generic']);

那么为什么需要它呢?

虽然 Laravel 非常酷且优秀,但如果你想将某个功能提取出来用于其他项目,可能会变得困难。首先,你必须对IoC 容器有一个深入的了解。

然后你会发现这个类需要那个类,而那个类又需要一些其他配置变量,这些变量通常在正常运行的 Laravel 应用程序中的 IoC 中存在,但在你的情况下,你没有定义它,并且真的不想定义这个值,因为它在你所谓的 遗留 应用程序中没有意义。

一个完美的例子是我尝试将 session API 提取出来用于 WordPress。它想知道关于一个 booted 方法的信息,我认为这来自 Illuminate\Foundation\Application。在这个时候,我已经不得不添加各种其他东西到 IoC 中以使其满意,而这最终成为了压垮骆驼的最后一根稻草,我发了一通脾气,走到冰箱前,抓了另一罐红牛,然后坐下来以新的方法重新开始。

结果就是这个项目。

原始代码由 Brad Jones 编写 - brad@bjc.id.au,由 Olubunmi Tosin 维护和更新 - olubunmivictor6@gmail.com