elvenspellmaker/glaza

此包的最新版本(1.0.0)没有可用的许可证信息。

基本视图解析器

1.0.0 2017-01-15 23:01 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:31 UTC


README

Глаза是一个非常基本的PHP视图处理和解析器。

安装

可以通过Composer进行安装

composer require ElvenSpellmaker/Glaza

如果您不想使用Composer,则可以克隆仓库并包含提供的AutoLoader:```php`

set( 'foo', 'World!' ); ``` 视图也可以包含其他视图:```php` $view->set('bar', new View( 'NestedView' )); ``` ### 在`ViewTestHtml.php`中渲染视图的代码:```php Hello
</body>
```

渲染视图非常简单。可以通过调用它们的`render`方法,或者通过显式类型转换(`string`)或尝试输出视图来将它们转换为字符串:echo $view

注意:视图是从内到外渲染的,虽然这很合理,但值得指出。

使用上面的例子,输出如下

<html>
    <body>
        Hello World!
    </body>
</html>

自动转义(净化)

考虑以下代码:```php` $view->set('foo', 'Not Bold');

The above will render as `&lt;b&gt;Not Bold&lt;/b&gt;` --> <b>Not Bold</b> because by default `htmlspecialchars()` is used to sanitise input.
In order to override this, pass `false` as the third argument to `View::set`:
```php`
$view->set('foo', '<b>Bold</b>', false);

这将渲染为`Bold/b>` --> Bold`,这可能正是您想要的!

在其他目录中查找视图

您很可能希望在其他目录中查找视图,这可以通过两种方式实现

  1. 在创建视图时指定视图的完整路径:$view = new View( '/full/path/to/view' );
  2. 使用`ViewManager`类并添加要搜索的路径。(这最终会变慢,特别是当添加更多路径时)

下面是第二种方法的一个示例

use ElvenSpellmaker\Глаза\ViewManager;

ViewManager::addViewPath( __DIR__ ); // Adds the current script's path to the ViewManager.

现在,当您创建一个新的视图时,它将首先搜索当前工作目录,然后搜索添加的目录。搜索目录的顺序是添加的顺序。可以通过将`false`传递给`ViewManager::addViewPath`作为第二个参数,将路径添加到路径列表的开头。这将使用`array_unshift`将路径移到列表的前面。