好久没写博客了。最近忙着毕业的事,正在准备着一月份的答辩,系统已经做得差不多了,毕业论文初稿也写得差不多了,接下来估计就是论文修修补补了。本来想要去找工作的,但是学校不准,说是必须要留在学校里搞答辩的事。另外,老师那儿的一些项目还要收尾。就只能再待一个月了。
说到找工作,暑假的时候本打算去杭州找找的,因为那儿的IT技术比较发达,起码比起我现在所在的城市要成熟很多。但是也不知道怎么回事,关键时刻胃疼了,疼的死去活来,差不多疼了一个月。估计是大一,大二的时候通宵次数太多了,对于身体太得瑟了吧。再加上家人的反对,就没去成。有时候,生活并不是事事顺心的;不顺心的时候,要适应变化,不要有悲观情绪,努力挖掘对自己有用的一面。
话说学校不让走,一时半会儿也没什么项目做,老师那儿的新项目也不想做了,如果做了估计收尾的时候又要延迟好多天去找工作。就想着学点什么,发现网上都说php做网页速度很快,决定就学php了。
这几天学下来感觉php语法也和java差不多,php有个模板引擎Smarty,感觉和struts里的freemarker模板很像,就下载了个Smarty手册来学习。
接下来是我这几天Smarty的学习笔记(个人能力有限,只能学这么多了-_-,基本用用就差不多了,什么插件,什么内置函数我都没有学,等以后不够用了再学吧):
1, 首先是下载Smarty的库文件,附件里有。
2, 解压Smarty库文件,然后记录Smarty-3.1.12\libs\Smarty.class.php的绝对路径。
3, 在项目工程下新建四个文件夹分别是cache(缓存文件)configs(配置文件)templates(模板文件)templates(模板编译出来的文件,一般不理)
然后就可以写代码了。附件里有个例子文件demo,里面写着一些基本的Smarty 函数例子。
现在黏贴如下:
首先贴出配置文件configs\foo.conf。
这里所说的配置文件并不是说的是工程必须的,只是一些变量的值,可以理解为define("xxx","xxx");就是一些常数。
title = "这是配置的标题<br/>"
content = "这是配置的内容<br/>"
然后是templates\header.tpl
header<br/>
然后是templates\index.tpl
{include file="header.tpl"}
{config_load file="foo.conf"} <!-- 加载配置文件(定义在configs文件夹下) -->
{$person->name} <!-- 类变量 -->
{$person->log("哈哈哈这是类<br/>")} <!-- 类方法 -->
{$name} <!-- 变量 -->
{$arr["name"]} <!-- 数组 -->
{#title#} <!-- 配置文件里的值 -->
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
{$age|upper}<br/> <!-- 全大写 全小写(lower)-->
{$age|capitalize}<br/> <!-- 首字母大写 -->
{$age|count_characters}<br/> <!-- 字符串个数(不算空格) -->
{$age|count_characters:true}<br/> <!-- 字符串个数(算空格) -->
{$cat|cat:"后加的字符"}<br/> <!-- 在字符后面外加字符串 -->
{$no|default:"如果没值,则此字符串为默认"}<br/> <!-- 默认赋值 -->
{$regex|regex_replace:"/[\r\t\n]/":"3"};<br/> <!-- 正则替换字符串 -->
{$replace|replace:"123":"abc"}<br/> <!-- 普通替换 -->
{$tru|truncate:11:"...":true}<br/> <!-- 截取字符串 -->
{$multi|upper|cat:"123"}<br/> <!-- 多个修饰 -->
{foreach from=$custid item=curr_id} <!-- 遍历数组 -->
{$curr_id}<br/> <!-- ----- -->
{/foreach} <!-- ----- -->
{foreach name=outer item=contact from=$contacts} <!-- 遍历数组 -->
{foreach key=key item=item from=$contact} <!-- ----- -->
{$key}: {$item}<br> <!-- ----- -->
{/foreach} <!-- ----- -->
{/foreach} <!-- ----- -->
{section name=customer loop=$custid} <!-- section遍历数组 -->
{if $smarty.section.customer.first} <!-- 第一次遍历 -->
第一次遍历<br/> <!-- ----- -->
{/if} <!-- ----- -->
{if $smarty.section.customer.last} <!-- 最后一次遍历 -->
最后一次遍历<br/> <!-- ----- -->
{/if} <!-- ----- -->
{$smarty.section.customer.index}:{$custid[customer]}<br>
{sectionelse} <!-- ----- -->
there are no values in $custid. <!-- ----- -->
{/section} <!-- ----- -->
{if $name eq "这是变量<br/>"} <!-- 判断语句 -->
true<br/> <!-- ----- -->
{else} <!-- ----- -->
false<br/> <!-- ----- -->
{/if} <!-- ----- -->
{ldelim}{rdelim}<br/> <!-- 输出"{}" -->
{assign var="name" value="Bob"} <!-- 自定义变量 -->
$name的自定义值为 {$name}.<br/> <!-- ----- -->
{counter start=0 skip=2 print=false} <!-- 自增数字 -->
{counter}<br/> <!-- ----- -->
{counter}<br/> <!-- ----- -->
{counter}<br/> <!-- ----- -->
{counter}<br/> <!-- ----- -->
{fetch file="http://localhost/Hello/demo/login.php"}<!-- 载入界面 -->
然后是index.php
<?php
require('C:\Users\cng\Downloads\Smarty-stable\Smarty-3.1.12\libs\Smarty.class.php');
class Person
{
public $name;
function __construct()
{
$name="cng";
}
function log($name)
{
print $name;
}
}
$person=new Person();
$person->name="这是载入的类<br/>";
$smarty = new Smarty;
$smarty->assign("person",$person);
$smarty->assign("name","这是变量<br/>");
$smarty->assign("arr",array("name"=>"这是数组<br/>"));
$smarty->assign("age","cng");
$smarty->assign("cat","后面会加字符:");
$smarty->assign("regex","正则替换\n哈哈哈");
$smarty->assign("replace","普通替换123哈哈哈");
$smarty->assign("tru","我是正文哈哈哈哈哈");
$smarty->assign("multi","abc");
$smarty->assign("custid",array("chen","nai","gong"));
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
$smarty->display('index.tpl');
?>
最后是login.php
<?php print "这是login界面";
?>
这些就是Smarty模板引擎的基本使用,基本上看了代码之后就知道怎么用了。
分享到:
相关推荐
Smarty是一款广泛应用于PHP开发中的模板引擎,它将业务逻辑与视图展示分离,使得开发者能够更专注于页面设计和用户体验,而无需关心后端代码的实现细节。本资源包由知名IT教育专家韩顺平老师提供,包含了他在讲解...
Smarty是一个广泛使用的PHP模板引擎,它的主要目的是将前端界面与后端逻辑代码分离,从而让开发者可以更加专注于各自的工作:设计师处理视图,而程序员处理数据和业务逻辑。本课程"李炎恢Smarty专题精讲视频课程源码...
Smarty是一款强大的PHP模板引擎,它的主要特点是将PHP代码与HTML分离,使得开发者能更专注于页面设计,而模板设计师则无需关心PHP代码。本篇笔记详细梳理了SMARTY的关键概念、配置方法以及各种功能的使用。 首先,...
Smarty是一个流行的PHP模板引擎,由Toby Speight和Georg Richter共同开发,旨在将HTML设计与PHP代码分离,让开发者和设计师能够更高效、更专业地协作。在这个压缩包中,你找到了韩顺平老师的关于Smarty的学习资料,...
Smarty是一个广泛使用的PHP模板引擎,它的设计目标是将呈现逻辑从应用程序代码中分离出来,使得开发者可以专注于业务逻辑,而设计师则可以自由地处理页面布局和样式。这个压缩包包含了Smarty的源码、手册和相关的...
综上所述,Smarty模板引擎技术是PHP开发中的一个重要工具,通过学习和实践,你可以提高项目的可维护性和开发效率。本资料包中的PPT、笔记和代码演示将帮助你全面掌握Smarty的核心概念和实际应用。
Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。
7. **模板引擎_Smarty**(模板引擎_smarty.doc):Smarty是PHP的一种流行模板引擎,它将业务逻辑与视图分离,使得网页设计更加独立。文件可能涵盖Smarty的安装、配置、模板语法、变量分配、函数和控制结构的使用等。...
韩顺平 笔记"是一份详细的学习资料,记录了韩顺平老师在教学过程中讲解的PHP技术和Smarty模板引擎的实践应用。通过这份笔记,学习者可以深入理解如何利用Smarty来构建高效、可维护的Web应用程序。 【标签】"smarty...
10. **模板引擎**:虽然PHP可以直接嵌入HTML,但为了提高代码的可读性和可维护性,通常会使用模板引擎,如Smarty,将业务逻辑和视图分离。 在你三天内掌握PHP的过程中,可能就是通过深入理解并实践这些核心概念,...
- 模板引擎如Twig、Smarty等,帮助开发者专注于视图层的设计,减少逻辑代码的嵌入。 6. **PHP网站部署及安全** - 部署涉及服务器配置、URL重写、错误处理和性能优化。 - 安全方面,包括SQL注入防护、XSS攻击防范...
7. 模板引擎:为了分离业务逻辑和视图,笔记可能包含关于使用PHP模板引擎(如Smarty或Twig)的内容,这有助于提高代码的可读性和可维护性。 8. 性能优化:包括使用缓存技术(如memcached或Redis)提升页面加载速度...
常见的PHP模板引擎有Smarty、Twig等,它们提供了更简洁的语法,方便开发者编写更加清晰、易于维护的代码。 1. **理解PHP模板的基本概念** - 模板:HTML文件中嵌入PHP代码,用于显示动态数据。 - 变量:在模板中用...
Smarty是一个高效的模板引擎,广泛应用于PHP中,用于将程序逻辑和网页设计分离开来。通过Smarty,开发人员可以创建可重复使用的代码块,并在不同的页面上应用。本文将基于提供的信息,对Smarty模板引擎中常见的代码...
12. **模板引擎和框架**:高级PHP学习中,可能涉及Smarty等模板引擎或Laravel、Symfony等PHP框架的使用。 13. **安全实践**:包括防止SQL注入、XSS攻击,以及如何使用`htmlspecialchars`、`strip_tags`等函数进行...
在高级主题部分,笔记会涉及PHP的模板引擎,如Smarty,以及PHP的框架应用,如Laravel或Yii,这些工具能够加速开发过程并提高代码质量。此外,还会讲解PHP的性能优化技巧和调试方法,帮助开发者提升代码运行效率。 ...
4. **模板引擎**:如果项目中包含模板引擎,如Twig或Smarty,可以了解如何使用模板来分离视图和逻辑,使代码更清晰。 5. **用户认证和授权**:笔记应用可能涉及用户登录和权限管理,通过分析这部分代码,可以学习...