• smarty模板基础知识


    1、定义

             Smarty是一个使用php写出来的模板引擎,它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与html代码混杂在一起PHP代码逻辑分离。

    简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

    2、

    <?php
    	class Smarty
    	{
    		public $left="{";  //左分割符
    		public $right="}";
    		
    		
    		//所有后台数据要存在这个数组里;
    		public $arr =array();
    		
    		
    		//注册变量(将这个变量写到数组里存一下),将得到的数据传到上面的数组中
    		public function assign($name,$value){
    			$arr[$name] = $value;
    		}
    		
    		
    		//显示模板(核心)(看下图)
    		public function display($url){
    			
    			//找到模板文件
    			$str = file_get_contents($url);
    			
    			//根据正则匹配带有标记({})的内容,做替换
    		
    			//将编译好的文件缓存下来			
    			file_get_contents("",$str);
    		
    			//将文件拿到当前页面显示
    			include();
    
    		}
    	
    	}
    	
    	
    
    
    ?>
    

      

    3、例子:

    (1)在12.php页面:(字符串类型;数组;对象)

    <?php
    	//引入smarty类
    require "../init.inc.php";
    
    //数组类型
    $arr =array("one"=>"1111","two"=>"2222");
    
    //对象
    class Ren{
    	public $name="张三";
    }
    $r= new Ren();
    
    //注册变量
    $smarty->assign("ceshi","hello");  //字符串
    $smarty->assign("shuzu",$arr);  //数组
    $smarty->assign("duixiang",$r);  //对象
    
    //显示
    $smarty->display("test.html");
    ?>
    

      (2)test.html页面

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <{$ceshi}>
    <{$shuzu["one"]}>
    <{$duixiang->name}>
    </body>
    </html>
    

      (3)运行12.php,结果如下:

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/chenguanai/p/7095007.html
Copyright © 2020-2023  润新知