zoukankan      html  css  js  c++  java
  • Smarty 注册变量

    关于smarty类的一些解析

    特别注意左右分隔符<{}>,display------显示模板的内容(里面是.html文件),assign-------注册变量

    <?php
    //是一个关于smarty类的重点部分以及参数解析
    
    class Smarty
    {
        public $leftlimit = "<{";//定义左分隔符    
        public $rightlimit = "}>";//定义右分隔符
        public $attr;//存放变量信息的数组
        
        //注册变量
        function assign($k,$v)
        {
            $this->attr[$k] = $v;    
        }
        //显示模板
        function display($name)
        {
            //造模板的路径
            $filename = $mubanlujing.$name;//index.html
            //获取模板路径
            $str = file_get_contents($filename);
            
            /*<html>
            <head></head>
            <body>
            <div>{$aa}</div>
            </body>
            </html>
            */
    
            
            //用正则去匹配字符串中出现的{}的内容
            //将内容读取(读取到的数组里面的key),拿key去数组attr里面取value
            //可以理解成上下的两个例子
            
            /*<html>
            <head></head>
            <body>
            <div><?php echo $attr[key] ?></div>
            </body>
            </html>
            */
            
            //将str里面的文件放到缓存内容
            file_put_contents($filename,$str);
            
            //将存储的文件加载到当前页面
            include($filename);
    
        }
    }

    smarty基础如何显示内容以及类型参数

    php的页面------main.php

    <?php
    //在这个页面显示
    include("../init.inc.php");
    
    $name = "张三";//可以显示字符串
    $age = 20;//显示数字
    $attr = array("中国","山东","淄博");//索引数组
    $att = array("one"=>"你好","two"=>"hello");//关联数组
    
    class Ren
    {
        public $name = "不知道";
        public $age;
    }
    
    $r = new Ren();
    $r->age = "不知道";
    
    
    
    //传到html页面时用key
    $smarty->assign("name",$name);//显示注册变量
    $smarty->assign("age",$age);//显示数字
    $smarty->assign("dizhi",$attr);//显示索引数组,去索引号
    $smarty->assign("yuyan",$att);//可以显示关联数组
    $smarty->assign("ren",$r);//读取对象
    
    
    
    $smarty->display("main0603.html");//显示模板的内容

    templates中的html文件

    <html>
    <head>
    <meta charset="utf-8" />
    </head>
    <body>
    <h1>主页面</h1>
    
    <div>登陆者是:<span style="color:#C36; background-color:#6FF"><{$name}></span></div>
    <br />
    <div>年龄是:<{$age}></div>
    <br />
    <div>所住的地址是:<{$dizhi[1]}></div>
    <br />
    <div>所会的的语言:<{$yuyan['one']}></div>
    <br />
    <div>两种写法后者优先:<{$yuyan.two}></div>
    <br />
    <div>他的好友姓名:<{$ren->name}></div>
    <br />
    <div>好友的年龄:<{$ren->age}></div>
    </body>
    </html>

    配置文件:init.inc.php

    <?php
    
    define("ROOT",str_replace("\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录
    
    //echo str_replace("\","/",dirname(__FILE__))."/";
    
    require ROOT.'libs/Smarty.class.php'; //加载Smarty类文件
    
    $smarty = new Smarty(); //实例化Smarty对象<br>
    
    
    //$smarty -> auto_literal = false; //就可以让定界符号使用空格
    $smarty->setTemplateDir(ROOT.'templates/'); //设置所有模板文件存放位置
    //$smarty->addTemplateDir(ROOT.'templates2/'); //添加一个模板文件夹
    $smarty->setCompileDir(ROOT.'templates_c/'); //设置编译过的模板存放的目录
    $smarty->addPluginsDir(ROOT.'plugins/'); //设置为模板扩充插件存放目录
    $smarty->setCacheDir(ROOT.'cache/'); //设置缓存文件存放目录
    $smarty->setConfigDir(ROOT.'configs/'); //设置模板配置文件存放目录
    
    $smarty->caching = false; //设置Smarty缓存开关功能
    $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天
    $smarty->left_delimiter = '<{'; //设置模板语言中的左结束符
    $smarty->right_delimiter = '}>'; //设置模板语言中的右结束符
  • 相关阅读:
    八大排序算法
    大数据系列文章汇总
    HBase原理、设计与优化实践
    hbase分页应用场景及分页思路与代码实现
    【HBase】zookeeper在HBase中的应用
    HBase什么时候作minor major compact
    Namenode HA原理详解(脑裂)
    【版本特性】sql server2005版本特性
    Navicat破解版下载安装
    MongoDB(2.2)MongoDB的安装与基本使用
  • 原文地址:https://www.cnblogs.com/kevin2016/p/5721596.html
Copyright © 2011-2022 走看看