本文目录一览:
- 1、PHP 中 smarty 要怎么 配置?
- 2、php与smarty有什么关系
- 3、PHP里面的PDO 以及smarty是怎么意思 怎么用 最好举几个例子 谢谢
- 4、php中smarty 模板结构?
- 5、php简单smarty入门程序实例
- 6、最基本的php的smarty的配置问题,快疯了
PHP 中 smarty 要怎么 配置?
首先要加载smarty类:Smarty.class.php
然后实例化这类:如$smarty=new Smarty()
主要的几个基本配置:
$smarty-template_dir //设置模板目录
$smarty - compile_dir //设置编译目录
$smarty - config_dir //设置配置文件目录
$smarty- caching //设置缓存状态
$smarty- cache_dir //设置缓存的路径
$smarty - debugging //是否允许调试
$smarty - left_delimiter //设置左定界符
$smarty- right_delimiter //设置右定界符
$smarty - cache_lifetime //设置缓存的时间
使用一般就assign(); display();
php与smarty有什么关系
smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。模板引擎就是将显示层分离出来。我们之前做的网站,如果在需一套更漂亮的界面的时候,我们会发现简直是致命的。其工作量可能相当于重写整个系统了。而模板引擎的出现帮我们解决了这一难题。使我们的网站拥有更好的可维护性。简单的讲,目的就是要使PHP程序员同美工分离,使程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
PHP里面的PDO 以及smarty是怎么意思 怎么用 最好举几个例子 谢谢
pdo 是php自代的一个连接数据库的类
如:$pdo=new PDO("mysql:host=localhost;dbname=aa","root","");
smarty 是模板,它可以将php代码和html分离,这样以后改html的时候php代码不需要改,是为了以后更好的维护也是为了开发方便,这是我的理解。
php中smarty 模板结构?
smarty模板的控制结构 if语句控制块常见的if语句写法: if语句在smarty中的应用
# {if $name == "Fred" || $name == "Wilma"}
{* 和上面的例子一样,"or"和"||"没有区别 *}
# ...
{* 如果条件成立则输出这个区块的代码 *}
# {/if}
{* 是条件控制的关闭标记,if必须成对出现* foreach的遍历: 主要是应用在一维数组中. {foreach}要与{/foreach}成对使用,它有四个参数,其中form和item两个是必要的。foreach可以使用的全部参数如表16-4所示。 表16-4 foreach可以使用的选项参数参 数 名描 述类 型默 认 值form待循环数组的名称,该属性决定循环的次数,必要参数数组变量无item确定当前元素的变量名称,必要参数字符串无key当前处理元素的键名,可选参数字符串无name该循环的名称,用于访问该循环,这个名是任意的,可选参数字符串无 foreach来遍历一维数组 foreach来遍历二维数组 也可以在模板中嵌套使用foreach遍历二维数组,但必须保证嵌套中的foreach名称唯一。此外,在使用foreach遍历数组时与下标无关,所以在模板中关联数组和索引数组都可以使用foreach遍历。 二维数组的遍历 1. ?php
2. require "libs/Smarty.class.php";
//包含Smarty类库
3. $smarty = new Smarty();
//创建Smarty类的对象
4. $contact=array(
//声明一个保存三个联系人信息的二维数组
5. array('name'='高某','fax'='1234','email'=
'gao@lampbrother.net','phone'='4321'),
6. array('name'='洛某','fax'='4567','email'=
'luo@lampbrother.net','phone'='7654'),
7. array('name'='峰某','fax'='8910','email'=
'feng@lampbrother.net','phone'='0198')
8. );
9. $smarty-assign('contact', $contact);
//将关联数组$contact分配到模板中使用
10. $smarty-display('index.tpl');
//查找模板替换并输出
11. ?
在进行输出时:
进行遍历的方案 # {foreach from=$contact item=row}
{* 外层foreach遍历数组$contact *}
# tr
{* 输出表格的行开始标记 *}
# {foreach from=$row item=col}
{* 内层foreach遍历数组$row *}
# td{$col}/td
{* 以表格形式输出数组中的每个数据 *}
# {/foreach}
{* 内层foreach区块结束标记 *}
# /tr
{* 输出表格的行结束标记 *}
# {/foreach}
{* 外层foreach区域的结束标记 *}
说明: 这里的遍历是对整个二维数组来进行遍历. foreachelse在进行遍历数组时的应用:foreach标记提供了一个扩展标记foreachelse,这个语句在from变量没有值的时候被执行,就是在数组为空时foreachelse标记可以生成某个候选结果。在模板中foreachelse标记不能独自使用,一定要与foreach一起使用。而且foreachelse不需要结束标记,它嵌入在foreach中,与elseif嵌入在if语句中很类似。 foreach为二维数组 1. {foreach key=key item=value from=$array}
{* 使用foreach遍历数组$array中的键和值 *}
2. {$key} = {$item} br
{* 在模板中输出数组$array中元素的键和值对 *}
3. {foreachelse}
{* foreachelse在数组$array没有值的时候被执行*}
4. p数组$array中没有任何值/p
{* 如果看到这条语句,说明数组中没有任何数据*}
5. {/foreach}
{* foreach需要成对出现,是foreach的结束标记 *} section的循环遍历section来循环遍历二维数组二维数组的遍历 说明:这是一个二维数组的定义
$contact=array( //声明一个保存三个联系人信息的二维数组
array('name'='高某','fax'='1234','email'='gao@lampbrother.net','phone'='4321'),
array('name'='洛某','fax'='4567','email'='luo@lampbrother.net','phone'='7654'),
array('name'='峰某','fax'='8910','email'='feng@lampbrother.net','phone'='0198')
);
$smarty-assign('contact', $contact); //将关联数组$contact分配到模板中使用
说明:使用section来进行遍历,其中对于是关联数组的数组访问,使用"."号形式来访问
{section name=line loop=$contact} {* 使用section遍历数组$contact *}
tr {* 输出表格的行开始标记 *}
td{$contact[line].name}/td {* 输出数组第二维中下标为name的元素值 *}
td{$contact[line].fax}/td {* 输出数组第二维中下标为fax的元素值*}
td{$contact[line].email}/td {* 输出数组第二维中下标为email的元素值*}
td{$contact[line].phone}/td {* 输出数组第二维中下标为phone的元素值*}
/tr {* 输出表格的行结束标记 *}
{/section} {* section区域的结束标记 *}
php简单smarty入门程序实例
本文实例讲述了php简单smarty入门程序。分享给大家供大家参考。具体如下:
首先要有3个文件夹configs、templates、templates_c,在configs文件夹中有一个配置文件:test.conf,代码:
title
=
Welcome
to
Smarty!
cutoff_size
=
40
[setup]
bold
=
true
templates中有模板文件:test.htm:
html
head
titleSmarty
Test/title
/head
body
H1Hello,
{$Name}/H1
/body
/html
php文件代码:
?php
require
'libs/Smarty.class.php';
//包含Smarty类库文件
$smarty
=
new
Smarty;
//创建一个新的Smarty对象
$smarty-assign("Name","Simon");
//对模版中的变量赋值
$smarty-display('test.htm');
//显示页面
?
运行后显示的页面代码:
html
head
titleSmarty
Test/title
/head
body
H1Hello,
Simon/H1
/body
/html
运行之后,还在templates_c文件夹中生成一个php文件:
?php
/*
Smarty
version
2.6.22,
created
on
2009-03-19
13:20:00
compiled
from
test.htm
*/
?
html
head
titleSmarty
Test/title
/head
body
H1Hello,
?php
echo
$this-_tpl_vars['Name'];
?
/H1
/body
/html
这个文件就是浏览所显示出来的效果。
希望本文所述对大家的php程序设计有所帮助。
最基本的php的smarty的配置问题,快疯了
这里是
$smarty-left_delimiter ="{%";
$smarty-right_delimiter ="%}";
边界符带了个%,所以后面也必须带%
html
body
b{%$title%}/b
/body
/html
不过smarty边界符一般这样设置:
$smarty-left_delimiter ="!--{";
$smarty-right_delimiter ="}--";