建议使用一个兼容性好的smary版本。
太新的版本往往对php的版本支持不好。
 
php推荐使用的模板是:smarty
 
其他模板:phplib
公司自己写的模板
 
如何配置我们的smarty?
1.解压后,把libs文件夹放在网站根目录下。
2.创建两个文件夹 templates(放模板文件) 和templates_c(放编译后的俄文件)

开始使用smarty
1.写一个模板文件(tpl),通常放在templates
2.在php文件中引入smarty的核心文件,并创建smarty对象:

 //创建smarty对象
require_once './libs/Smarty.class.php';
3 $smarty = new Smarty;//建立smarty实例对象$smarty

把数据分配给smarty对象,给tpl文件分配要显示的结果集合。对象,数组。

 //把$res分配到smarty对象
$smarty->assign("myArr",$arr);
//指定用哪个模版显示
$smarty->display("empList2.tpl");

初始化其他参数(这些初始化应该放在display函数上面)

 $smarty -> caching = false;//是否使用缓存
$smarty -> template_dir = "./templates";//设置模板目录
$smarty -> compile_dir = "./templates_c";//设置编译目录
$smarty -> cache_dir = "./smarty_cache";//缓存文件夹
//修改左右边界符号
$smarty -> left_delimiter="<{";
$smarty -> right_delimiter="}>";

完整的代码应该是:

 <?php

     //创建smarty对象
require_once './libs/Smarty.class.php'; $smarty = new Smarty;//建立smarty实例对象$smarty
$smarty -> caching = false;//是否使用缓存
$smarty -> template_dir = "./templates";//设置模板目录
$smarty -> compile_dir = "./templates_c";//设置编译目录
$smarty -> cache_dir = "./smarty_cache";//缓存文件夹
//修改左右边界符号
$smarty -> left_delimiter="<{";
$smarty -> right_delimiter="}>"; $smarty -> assign("var1","hello world");//
$smarty -> display("hello.tpl");// ?>

3.一般在控制器中用。创建一个smarty对象。require_once

注意事项:
 
1.替换变量的标识符一般使用:<{}>
因为{}会和内联css和js发生冲突。
 
改动分隔符有两个方法:
   1直接该smarty源码。
   2 动态修改分隔符
          $smarty = new Smarty;
          $smarty ->left_delimiter="<{";
          $smarty ->right_delimiter="}>";
 
传统方法的弱点:
1、php脚本和html,css,js混合,界面不简洁、
2.编写php页面要求程序员同时会网页设计技术、
3,不利于项目分工协同开发。
 
smarty的用处:
1。把界面需要的数据获取到,然后分配给某个界面。

smarty模板的配置的更多相关文章

  1. php Smarty模板引擎配置与测试

    Smarty简介 smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页 ...

  2. 如何配置Smarty模板

    <?php //首先包含Smarty类文件 include_once('Smarty/Smarty.class.php'); //实例化Smarty类文件 $smarty=new Smarty( ...

  3. smarty模板配置代码详细说明及如何注册自己的smarty函数

    下面为smarty模板的配置文件,smarty配置的详细说明以及如何注册自己所需要的smarty函数 config.inc.php <?php /** * Smarty 调用 * www.daf ...

  4. 第八十七天请假 PHP smarty模板配置以及简单的调用方式

    smarty模板的配置文件 <?php define("ROOT",str_replace("\\","/",dirname(__FI ...

  5. 12月15日smarty模板基本语法

    smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...

  6. smarty模板引擎

    1.    使用smarty 1.1 项目引入 // 3, 连接数据库,提取相关数据 $title = "Smarty模板引擎"; $content = "Smarty模 ...

  7. Smarty模板技术学习

    模板引擎技术:使得php代码和html代码分离的技术就称为"模板引擎技术" 自定义smarty模板技术实现 <?php //迷你smarty原理 class MiniSmar ...

  8. 第八十八天请假 PHP smarty模板 变量调节器,方法和块函数基本书写格式

    变量调节器 : 文件命名格式(modifier.名称.php)  前端调用方式<{变量|名称:参数:参数……}>可组合使用,用|隔开 <?php /* 命名格式 smarty_mod ...

  9. smarty模板中引用常量没效果

    在thinkphp框架中使用Thinkph的模板引擎,css,js等都没问题,配置为smarty模板引擎后没效果,如图 代码为,$Smarty的s是大写,此时页面不能引入常量,改为小写后正常了. &l ...

随机推荐

  1. Allure Report使用

    https://blog.csdn.net/liuchunming033/article/details/79624474#commentBox https://blog.csdn.net/lihua ...

  2. 中证500等主要指数的市盈率(PE)估值高度

    全指医药(SH000991) - 2018-10-18日,当前值:22.8575,平均值:36.88,中位数:36.27655,当前 接近历史新低.全指医药(SH000991)的历史市盈率PE详情 中 ...

  3. Python_selenium二次封装selenium的几个方法

    Python_selenium二次封装selenium的几个方法 将常用的几个webdriver方法封装到自己写的一个类中去,此实例中是将"浏览器后退.浏览器前进.打开站点和关闭浏览器&qu ...

  4. 【linux】 linux 禁止ping

    linux 禁止 ping 一.修改内核参数 1.临时允许PING操作的命令为:echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all 2.永久允许PIN ...

  5. Tomcat------启动时报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].

    启动报错信息: Failed to start component [StandardEngine[Catalina].StandardHost[localhost] 因此出现这种错误的原因可能有: ...

  6. WPF中的命令与命令绑定导航

    1.WPF中的命令与命令绑定(一) (引入命令) 2.WPF中的命令与命令绑定(二)(详细介绍命令和命令绑定)

  7. cocos2d-x 3.0 在lua中调用自定义类

    环境 windows8, cocos2d-x 3.0, 现在开始安装需要的一些其它包 1. 按README.mdown文档上面要求的, 下载在windows下要安装的东东, 主要就是python2.7 ...

  8. PostgreSQL分布式架构之——PL/Proxy

    1. PL/Proxy的介绍 1.1 PL/Proxy概述 PL/Proxy是一款能在PostgreSQL数据库实现数据库水平拆分的软件:可以理解分布式架构(shared nothing);但是不是真 ...

  9. linux 端口占用情况

    1,查看8010端口是否被占用 [root@cloud ~]# netstat -an|grep 8010 tcp 0 0 0.0.0.0:8010 0.0.0.0:* LISTEN 2,查看8010 ...

  10. async await yield

    问题:async 和yield有什么区别? 无奈只能用“书到用时方恨少”来解释这个问题了.其实也是自己从开始编程就接触的是nodejs中的async 以及await ,yield几乎.貌似好像都没使用 ...