moltin / slim-views
适用于Slim框架的Smarty和Twig视图解析器包
0.1.2
2014-04-03 16:31 UTC
Requires
- php: >=5.3.0
- slim/slim: >=2.4.0
Suggests
- smarty/smarty: Smarty templating system
- twig/twig: Twig templating system
This package is not auto-updated.
Last update: 2024-09-24 16:08:02 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,请在模板中将函数的第三个参数设置为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}
作者
许可
MIT公共许可证