vierbergenlars / appendr
此包已被放弃,不再维护。没有建议替代包。
v1.2.0
2013-08-17 14:58 UTC
Requires (Dev)
- twig/twig: ~1.13
- vierbergenlars/simpletest: *
This package is not auto-updated.
Last update: 2022-02-01 12:26:18 UTC
README
Appendr是一个小型插件,允许在子模板中更改模板字符串。
安装
$ composer require vierbergenlars/appendr:*
将扩展与您的Twig环境注册
<?php // ... $twig = new Twig_Environment($loader); $twig->addFunction(new \Twig_SimpleFunction('headTitle', new \vierbergenlars\Appendr)); // headTitle is just an example name, you can name it anything you want.
示例
<!DOCTYPE html> <html> <head> <title>{{ headTitle('Website Name') }}</title> {% do headTitle().setSeparator('~') %} {% do headTitle().setDefaultAttachOrder('APPEND') %} </head> <body> {# ... #} </body> </html>
{% extends 'base.twig' %} {% do headTitle('Page name', 'PREPEND') %}
API
所有方法都是可链的(除了获取器)。
假设headTitle
是appendr的一个实例。
headTitle().append('Title')
(等同于headTitle('Title', 'APPEND')
)headTitle().prepend('Title')
(等同于headTitle('Title', 'PREPEND')
)headTitle().set('New Title')
(等同于headTitle('New Title', 'SET')
)headTitle().getSeparator()
headTitle().setSeparator('~')
headTitle().getDefaultAttachOrder()
headTitle().setDefaultAttachOrder('APPEND')
(也有'PREPEND'
和'SET'
)headTitle().getPattern()
headTitle().setPattern('_/°° %s °°_')
(printf语法,此模式用于每个添加的部分)
在注册Twig函数时可以传递默认选项。
<?php use vierbergenlars\Appendr; // ... $twig = new Twig_Environment($loader); // Set default options in the constructor. (null skips an option) $appendr = new Appendr('~', '_/°° %s °°\_', Appendr::APPEND); // And register the Twig function $twig->addFunction(new \Twig_SimpleFunction('fancyTitle', $appendr)); // Or set them on the instance later $appendr->setSeparator('~'); $appendr->setPattern('_/°° %s °°\_'); $appendr->setDefaultAttachOrder(Appendr::APPEND);