我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文描述如何利用composer安装php模版smartycomposer安装好smarty之后,又如何使用呢?又会碰到什么样的问题呢?请查看本文的描述。

苏南大叔:如何利用composer安装smarty? - composer-smarty
如何利用composer安装smarty?(图4-1)

smarty是存在了十多年的老牌php模板引擎,目前仍然有一定的使用率。官方网址是:

如果您还没有安装composer,那么请查看苏南大叔以前给大家写的相关文章:

安装命令

composer require "smarty/smarty" -vvv

在命令行里面,可能会提示你,需要搜索一下smarty(我的mac下面没有提示,直接完成。win下面,同样的语句,提示搜索了)。如果提示了,那么请注意看红箭头的位置,都是你可能输入的项目。

苏南大叔:如何利用composer安装smarty? - composer_smarty_01
如何利用composer安装smarty?(图4-2)

执行成功之后,根目录下面的composer.json文件,就有smarty信息了。

苏南大叔:如何利用composer安装smarty? - composer_smarty_02
如何利用composer安装smarty?(图4-3)

使用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的使用过程中,可能会涉及下面的错误。

苏南大叔:如何利用composer安装smarty? - smarty_time
如何利用composer安装smarty?(图4-4)

这种情况下,大家记得,使用php的函数date_default_timezone_set进行设置即可;不过这个问题实际上有些超出smarty的范围了,属于php的基础设置范畴了。这里就不展开讨论了。

大家可以在这里得到更多相关信息。

date_default_timezone_set('PRC');
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php    composer