PHP 模板smarty练习

PHP 模板smarty练习
一.练习环境

smarty_inc为smarty lib库
smarty_inc.php导入库文件

<?php
include_once ("smarty_inc/Smarty.class.php");
$smarty = new Smarty();  //实例化
$smarty->config_dir="Smarty/Config_File.class.php";
$smarty->caching=false;  //缓存
$smarty->template_dir = "./templates";  //模板文件
$smarty->compile_dir = "./templates_c"; // 设定编译文件的存储路径
//$smarty->cache_dir = "./smarty_cache";
$smarty->left_delimiter = "{";
$smarty->right_delimiter = "}";
?>

二.smarty变量练习
$smarty->assign 设置传输变量
$smarty->display 加载模板
index.php

<?php
include ("smarty_inc.php");
error_reporting(7);//不显示警告报错,255列出所有提示,0关闭所有提示

$str = ‘this is my home!‘;
$smarty->assign(‘str‘,$str);
$smarty->display("index.html");
?>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>smarty test</title>
</head>
<body>
    {$str}

</body>
</html>

访问localhost/smarty/index.php 直接转到index.html
this is my home!

三.smarty数组练习
index.php

<?php
include ("smarty_inc.php");
error_reporting(7);//不显示警告报错,255列出所有提示,0关闭所有提示

$students = [‘sunqing‘,‘liuyao‘,‘yuxx‘,‘王舞‘];
$smarty->assign(‘name‘,$students);

$smarty->display("index.html");

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>smarty test</title>
</head>
<body>

    {section name=stu loop=$name}
        {$name[stu]}
    {sectionelse}
        无内容
    {/section}
</body>
</html>

四.smarty二维数组练习
index.php

<?php
include ("smarty_inc.php");
error_reporting(7);//不显示警告报错,255列出所有提示,0关闭所有提示

$students[] = [‘stu_name‘=>‘sunqiang‘];
$students[] = [‘stu_name‘=>‘liuyao‘];
$students[] = [‘stu_name‘=>‘yuxx‘];

$smarty->assign(‘name‘,$students);
$smarty->display("index.html");

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>smarty test</title>
</head>
<body>

    {section name=stu loop=$name}
        {$name[stu].stu_name}
    {sectionelse}
        无内容
    {/section}
</body>
</html>

五.smarty标量操作符练习
index.php

<?php
include ("smarty_inc.php");
error_reporting(7);//不显示警告报错,255列出所有提示,0关闭所有提示

$str = ‘this is my home!‘;
$smarty->assign(‘str‘,$str);
$smarty->assign(‘time‘,time());
$smarty->assign(‘score‘,123.456);

$smarty->display("index.html");

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>smarty test</title>
</head>
<body>

原始字符:{$str}<br>
<hr>
首字母大写:{$str|capitalize}<br>
计算字符数:{$str|count_characters}<br>
连接内容:{$str|cat:‘ i love study php‘}<br>
段落数:{$str|count_paragraphs}<br> <!--回车计算段落数-->
计算句数:{$str|count_sentences}<br>
计算单词数:{$str|count_words}<br>
日期显示:{$time|date_format:‘%Y-%m-%d %H:%M:%S‘} | {$smarty.now|date_format:‘%Y-%m-%d %H:%M:%S‘} | {$smarty.now}<br>
默认显示值:{$str1|default:‘no content‘}<br>
转码:{$str|escape:url} | {$str|escape:html}<br>
缩进:{$str|indent:5:‘.‘} | {$str|indent:5:‘&nbsp;‘}<br>
大写:{$str|upper}<br>
小写:{$str|lower}<br>
替换:{$str|replace:‘my‘:‘your‘} | {$str|replace:‘my‘:‘**‘}<br><!--屏蔽关键词-->
字符串格式化:{$score|string_format:‘%.2f‘} | {$score|string_format:‘%d‘}<br><!--保留小数点2位,保留整数-->
去空格:{$str|strip:‘‘} | {$str|strip:‘_‘}<br>
去html标签:{$str|strip_tags}<br>
截取:{$str|truncate:10:‘...‘}<br>
行宽约束:{$str|wordwrap:10:‘<br>‘}

</body>
</html>

原文地址:http://blog.51cto.com/anfishr/2144702

时间: 2024-11-17 03:56:07

PHP 模板smarty练习的相关文章

(转)PHP模板smarty简单入门教程

转之--http://blog.163.com/[email protected]/blog/static/166861361201062595057962/ 如何在smarty中开始我们程序设计.PHP代码:--------------------------------------------------------------------------------    首先来介绍一下在上一节中我们使用的过的.php文件中的一些元素.同样,我们拿上一节中最开始的那个index.php文件来说

smarty 基本介绍及示例

什么是smarty? Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一.Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离.Smarty工作的目的是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 为什么会诞生smarty? 例如在一个公司,一个应用程序的开发流程如下:在提交计

php的模板引擎

设计一个交互式的网站,我们需要关注两个主要的问题:分别是图形用户界面和业务逻辑.例如,一个标准的web开发小组由两三个美工和三个程序员组成,则设计流程是:美工设计者制作了项目的网站的界面模板,然后把它交给PHP 程序员,程序员在外观的基础上使用PHP+MYSQL实现程序的业务逻辑,然后工程又被返回到美工人员的手里对页面进行渲染. 一句话:Smarty引擎即是分离web应用程序逻辑层和表现层的工具,  同时也是让应用程序员和美工分开扮演不同的角色.所以程序员和美工都是需要学习使用Smarty,但学

smarty基础与实例

什么是smarty? Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一.Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离.Smarty工作的目的是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 为什么会诞生smarty? 例如在一个公司,一个应用程序的开发流程如下:在提交计

PHP面试试题

1,用PHP打印出前一天的时间,格式是2006-5-10 22:21:21echo date("Y:m:d H:i:s",strtotime("-1 day"));?>2,echo(),print(),print_r()的区别echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象3,能够使HTML和PHP分离开使用的模板smarty, PHPLib, FastTemplat

php面试题之一——PHP核心技术(高级部分)

一.PHP核心技术 1.写出一个能创建多级目录的PHP函数(新浪网技术部) <?php /** * 创建多级目录 * @param $path string 要创建的目录 * @param $mode int 创建目录的模式,在windows下可忽略 */ function create_dir($path,$mode = 0777) { if (is_dir($path)) { # 如果目录已经存在,则不创建 echo "该目录已经存在"; } else { # 不存在,创建

作为一名web开发人员, 迄今为止接触到的技术.

web开发究竟有没有个固定的范围呢? 以下是做开发至今接触到的技术, 不幸的是, 至今接触到的技术都没有进行深入研究, 知识停留较浅显的level. 不过, <<充满挑战, 世界才精彩>> 前台: HTML4.0 - HTML5 CSS2.0 - CSS3.0 JavaScript 服务器: Apache2.2 - Apache2.4 Nodejs 服务器语言: PHP Java 数据库: Mysql Cassandra 操作系统: Windows XP-7 Linux (主要是u

PHP面试01

1.表单中get和post的区别 (1)get是从服务器获取数据,post是向服务器传送数据: (2)get是将数据通过URL传送,post则是通过HTTP post机制: (3)get传送的数据量较小,post可以传送的数据量较大: (4)get安全性低,post安全性高,效率上get比post要好: (5) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据. 2.session与cookie的异同

php面试题之一——php核心技术

一.PHP核心技术 1.写出一个能创建多级目录的PHP函数(新浪网技术部) <?php /** * 创建多级目录 * @param $path string 要创建的目录 * @param $mode int 创建目录的模式,在windows下可忽略 */ function create_dir($path,$mode = 0777) { if (is_dir($path)) { # 如果目录已经存在,则不创建 echo "该目录已经存在"; } else { # 不存在,创建