如何利用composer安装smarty?
发布于 作者:苏南大叔 来源:程序如此灵动~本文描述如何利用composer
安装php
模版smarty
。composer
安装好smarty
之后,又如何使用呢?又会碰到什么样的问题呢?请查看本文的描述。
smarty是存在了十多年的老牌php模板引擎,目前仍然有一定的使用率。官方网址是:
如果您还没有安装composer,那么请查看苏南大叔以前给大家写的相关文章:
安装命令
composer require "smarty/smarty" -vvv
在命令行里面,可能会提示你,需要搜索一下smarty(我的mac下面没有提示,直接完成。win下面,同样的语句,提示搜索了)。如果提示了,那么请注意看红箭头的位置,都是你可能输入的项目。
执行成功之后,根目录下面的composer.json文件,就有smarty信息了。
使用demo
然后就可以在require了"vendor/autoload.php"的php文件中,使用smarty了。下面是个demo。
define('APP_DEBUG', true);
define('SITE_ROOT', str_replace('\\', '/', __DIR__));
require './vendor/autoload.php';
$smarty = new \Smarty;
$smarty->left_delimiter = "{{"; //解决和js冲突的问题
$smarty->right_delimiter = "}}";
$smarty->setTemplateDir(SITE_ROOT . '/views/'); //设置模板目录
$smarty->setCompileDir(SITE_ROOT . '/smarty/cache/templates_c/');
$smarty->setConfigDir(SITE_ROOT . '/views/smarty_configs/');
$smarty->setCacheDir(SITE_ROOT . '/smarty/cache/smarty_cache/');
//$smarty->force_compile = true;
if (APP_DEBUG) {
//$smarty->debugging = true;
$smarty->caching = false;
$smarty->cache_lifetime = 0;
} else {
//$smarty->debugging = false;
$smarty->caching = true;
$smarty->cache_lifetime = 120;
}
$smarty->assign('title', '标题');
$smarty->display('index.html');
views/index.html 这个模板里面,默认情况下,是这么写的。
<title>{{$title}}</title>
可能的错误
关于smarty变量的定界符,这里需要特殊说明一下,就是smarty默认是使用{和}。而使用这个的时候,在html页面里面就不能内联的写出js和css的代码了,只能把对应的文件写到单独的文件里面去。这样做,是很不方便和智能的。所以,我们需要对定界符号进行修改,而修改成什么样,大家并没有统一的规范,苏南大叔这里改成了{{和}},事实上你改成其他也是可以的。记得修改完成后,把你的模板里面的对应位置都要做出修改即可。
蛮简单的吧,更多smarty的设置,请参见官方文档。 http://www.smarty.net/docs/zh_CN/ 。
最后再ps一下:在smarty的使用过程中,可能会涉及下面的错误。
这种情况下,大家记得,使用php的函数date_default_timezone_set
进行设置即可;不过这个问题实际上有些超出smarty的范围了,属于php的基础设置范畴了。这里就不展开讨论了。
大家可以在这里得到更多相关信息。
date_default_timezone_set('PRC');
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。