仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1469|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之Smarty模板疾速入门

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。疾速入门|模板   在PHP的世界里已呈现了林林总总的模板类,但就功效和速度来讲Smarty仍是一向处于抢先位置,由于Smarty的功效绝对壮大,所以利用起来比其他一些模板类稍显庞杂了一点。如今就用30分钟让您疾速入门。
  一. 装置
    起首翻开网页http://smarty.php.net/download.php,下载最新版本的Smarty。解压下载的文件(目次布局还蛮庞杂的)。接上去我演示给人人一个装置实例,看过应当会触类旁通的。
    (1) 我在根目次下创立了新的目次learn/,再在learn/里创立一个目次smarty/。将方才解紧缩出来的目次的libs/拷贝到smarty/里,再在smarty/里新建templates目次,templates里新建cache/,templates/,templates_c/, config/.
    (2) 新建一个模板文件:index.tpl,将此文件放在learn/smarty/templates/templates目次下,代码以下:
[复制此代码]CODE:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
<html>   
<head>   
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
<title>Smarty</title>   
</head>   
<body>   
{$hello}   
</body>   
</html>

新建index.php,将此文件放在learn/下:
[复制此代码]CODE:<?php   
//援用类文件   
require 'smarty/libs/Smarty.class.php';   
$smarty = new Smarty;   
//设置各个目次的途径,这里是装置的重点   
$smarty->template_dir = "smarty/templates/templates";   
$smarty->compile_dir = "smarty/templates/templates_c";   
$smarty->config_dir = "smarty/templates/config";   
$smarty->cache_dir = "smarty/templates/cache";   
   
//smarty模板有高速缓存的功效,假如这里是true的话即翻开caching,然而会形成网页不当即更新的成绩,固然也能够经由过程其他的举措处理   
$smarty->caching = false;   
$hello = "Hello World!";   
//赋值   
$smarty->assign("hello",$hello);   
//援用模板文件   
$smarty->display('index.tpl');   
?>  

(3) 履行index.php就可以看到Hello World!了。
  二. 赋值
       在模板文件中需求交换的值用大括号{}括起来,值的后面还要加$号。例如{$hello}。这里可所以数组,好比{$hello.item1},{$hello.item2}…
       而PHP源文件中只需求一个复杂的函数assign(var , value)。
       复杂的例子:
       *.tpl:
       Hello,{$exp.name}! Good {$exp.time}
       *.php:
       $hello[name] = “Mr. Green”;
       $hello[time]=”morning”;
       $smarty->assign(“exp”,$hello);
       output:
       Hello,Mr.Green! Good morning
三. 援用
       网站中的网页普通header和footer是可以共用的,所以只需在每一个tpl中援用它们就能够了。
       示例:*.tpl:
    {include file="header.tpl"}
       {* body of template goes here *}
       {include file="footer.tpl"}
  四. 判别
       模板文件中可使用if else等判别语句,便可以将一些逻辑法式放在模板里。"eq", "ne", "neq", "gt", "lt", "lte", "le",  "gte"  "ge", "is even", "is odd", "is not even", "is not odd", "not", "mod", "div by", "even by", "odd by","==","!=",">", "<","<=",">="这些是if中可以用到的对照。看看就可以晓得甚么意思吧。
      示例:
      {if $name eq "Fred"}
                     Welcome Sir.
    {elseif $name eq "Wilma"}
                     Welcome Ma'am.   

    {else}
                     Welcome, whatever you are.
    {/if}

  五. 轮回
       在Smarty里利用轮回遍历数组的办法是section,若何赋值遍历都是在模板中处理,php源文件中只需一个assign就可以处理成绩。
       示例:
{* this example will print out all the values of the $custid array *}
{section name=customer loop=$custid}
              id: {$custid[customer]}<br>
{/section}
OUTPUT:
id: 1000<br>
id: 1001<br>
id: 1002<br>
  六. 罕见成绩
       Smarty将一切大括号{}里的器材都视为本人的逻辑法式,因而咱们在网页中想拔出javascript函数就需求literal的协助了,literal的功效就是疏忽大括号{}。
       示例:
{literal}  
       <script language=javascript>  
             function isblank(field) {  
                       if (field.value == '')   
                               { return false; }  
                       else  
                               {  
                               document.loginform.submit();  
                               return true;  
                               }  
             }  
       </script>  
{/literal}  


那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?
小女巫 该用户已被删除
沙发
发表于 2015-2-4 09:56:26 | 只看该作者
当然这种网站的会员费就几十块钱。
不帅 该用户已被删除
板凳
发表于 2015-2-9 21:59:15 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
爱飞 该用户已被删除
地板
发表于 2015-2-11 16:51:44 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
冷月葬花魂 该用户已被删除
5#
发表于 2015-3-2 15:49:55 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
老尸 该用户已被删除
6#
 楼主| 发表于 2015-3-7 23:33:51 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
透明 该用户已被删除
7#
发表于 2015-3-12 18:04:06 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
小妖女 该用户已被删除
8#
发表于 2015-3-15 09:25:00 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-18 09:11:01 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
精灵巫婆 该用户已被删除
10#
发表于 2015-3-19 07:37:36 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
小魔女 该用户已被删除
11#
发表于 2015-3-19 17:34:44 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
兰色精灵 该用户已被删除
12#
发表于 2015-3-20 18:40:24 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
若天明 该用户已被删除
13#
发表于 2015-3-28 02:50:37 | 只看该作者
实践是检验自己会不会的真理。
活着的死人 该用户已被删除
14#
发表于 2015-4-1 14:11:19 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
分手快乐 该用户已被删除
15#
发表于 2015-4-6 00:09:44 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
再见西城 该用户已被删除
16#
发表于 2015-4-7 01:18:21 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
admin 该用户已被删除
17#
发表于 2015-4-10 15:12:01 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
变相怪杰 该用户已被删除
18#
发表于 2015-4-12 15:30:04 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
深爱那片海 该用户已被删除
19#
发表于 2015-4-15 13:49:19 | 只看该作者
当然这种网站的会员费就几十块钱。
莫相离 该用户已被删除
20#
发表于 2015-4-22 03:35:50 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-17 05:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表