fobiaweb / slim-views
适用于 Slim 框架的 Smarty 和 Twig 视图解析器包
v0.2.1
2014-08-04 01:30 UTC
Requires
- php: >=5.3.0
Suggests
- smarty/smarty: Smarty templating system
- twig/twig: Twig templating system
This package is auto-updated.
Last update: 2024-09-06 23:41:33 UTC
README
此存储库包含以下模板框架的定制视图类。您可以通过在 Slim 框架引导文件中引入适当的类并使用所选视图类的实例初始化您的 Slim 应用程序,或者使用 Composer(推荐方式)来使用这些自定义视图类。
Slim Views 仅官方支持以下列出的视图。
- Smarty
- Twig
如何安装
使用 Composer
在您的项目根目录中创建一个 composer.json 文件
{ "require": { "slim/views": "0.1.*" } }
然后运行以下 composer 命令
$ php composer.phar install
Smarty
如何使用
<?php require 'vendor/autoload.php'; $app = new \Slim\Slim(array( 'view' => new \Slim\Views\Smarty() ));
要使用 Smarty 选项,请执行以下操作
$view = $app->view(); $view->parserDirectory = dirname(__FILE__) . 'smarty'; $view->parserCompileDirectory = dirname(__FILE__) . '/compiled'; $view->parserCacheDirectory = dirname(__FILE__) . '/cache';
Twig
如何使用
<?php require 'vendor/autoload.php'; $app = new \Slim\Slim(array( 'view' => new \Slim\Views\Twig() ));
要使用 Twig 选项,请执行以下操作
$view = $app->view(); $view->parserOptions = array( 'debug' => true, 'cache' => dirname(__FILE__) . '/cache' );
除此之外,我们还有一些辅助函数,这些函数包含在两个视图解析器中。要开始使用它们,您可以按照以下说明将它们添加到相应的视图解析器中
Twig
$view->parserExtensions = array( new \Slim\Views\TwigExtension(), );
Smarty
$view->parserExtensions = array( dirname(__FILE__) . '/vendor/slim/views/Slim/Views/SmartyPlugins', );
以下列出了这些辅助函数。
- urlFor
- siteUrl
- baseUrl
urlFor
Twig
在您的 Twig 模板中,您将编写
{{ urlFor('hello', {"name": "Josh", "age": "19"}) }}
您可以通过以下方式轻松传递对象或数组变量
<a href="{{ urlFor('hello', {"name": person.name, "age": person.age}) }}">Hello {{ name }}</a>
如果您需要为 urlFor 函数的 getInstance 方法指定 appname,请在模板中将它设置为函数的第三个参数
<a href="{{ urlFor('hello', {"name": person.name, "age": person.age}, 'admin') }}">Hello {{ name }}</a>
Smarty
在您的 Smarty 模板中,您将编写
{urlFor name="hello" options="name.Josh|age.26"}
或者使用新的数组语法
{urlFor name="hello" options=["name" => "Josh", "age" => "26"]}
您可以通过正常方式或使用 (.) 轻松传递数组变量
<a href="{urlFor name="hello" options="name.{$person.name}|age.{$person.age}"}">Hello {$name}</a>
如果您需要为 urlFor 函数的 getInstance 方法指定 appname,请将 appname 参数设置为您的函数中
<a href="{urlFor name="hello" appname="admin" options="name.{$person.name}|age.{$person.age}"}">Hello {$name}</a>
siteUrl
Twig
在您的 Twig 模板中,您将编写
{{ siteUrl('/about/me') }}
Smarty
在您的 Smarty 模板中,您将编写
{siteUrl url='/about/me'}
baseUrl
Twig
在您的 Twig 模板中,您将编写
{{ baseUrl() }}
Smarty
在您的 Smarty 模板中,您将编写
{baseUrl}
作者
许可
codeguy/develop MIT 公共许可证