设为首页 收藏本站
查看: 1047|回复: 0

[经验分享] PHP Smarty 模板 变量访问 韩顺平 讲解

[复制链接]

尚未签到

发表于 2018-12-15 16:06:05 | 显示全部楼层 |阅读模式
  定界符重新定义 预防在模板中有js css 代码时 smarty模板引擎解析出现错误!
  注意点:
  tpl页面模板中参数和值 在 php页面中对应关系。
  例如

PHP页面代码
class Dog{
    var $arrT;
        function __construct($arr){
        $this->arrT=$arr;
    }
}
//一维索引数组
$arrA=array('beijing','shanghai','tianjin');
//实例化对象
$dog=new Dog($arrA);
$dog->master=$master;
$smarty->assign("dog",$dog);
$smarty->display("hello.tpl");
TPL页面代码
arrT.city1}>  在PHP页面中Dog类中的成员变量arrT 对应 TPL页面arrT
  Dog类中构造方法形式参数$arr
  function __construct($arr){
        $this->arrT=$arr;
    }
  定义要传入Dog类参数中的实参$arrA         $arrA=array('beijing','shanghai','tianjin');
  在实例化对象时传入实参$arrA                   $dog=new Dog($arrA);
  

//创建smarty对象
require_once './libs/Smarty.class.php';
$smarty=new Smarty();
$smarty->left_delimiter="";  布尔型boolean
  php页面
$smarty->assign("yang_boolean",true);  tpl页面
  浏览器

1  整型integer
  php页面
$smarty->assign("yang_int",567);  tpl页面
  浏览器

567  浮点型float
  php页面
$smarty->assign("yang_float",56.7);  tpl页面
  浏览器

56.7  字符串string
  php页面
$smarty->assign("yang_string","i come from China");  tpl页面
  浏览器

i come from China  数组array  一维索引数组

  php页面
$arr=array('beijing','shanghai','tianjin');
$smarty->assign("arr1",$arr);  tpl页面
||||  浏览器

beijing||shanghai||tianjin  数组array  一维索引数组

  php页面
$arr2=array(
    'city1'=>'beijing',  'city2'=>'上海',  'city3'=>'天津'
);
$smarty->assign("arr2",$arr2);  tpl页面
||||  浏览器

beijing||上海||天津||  数组array  二维数组 (第一层为索引数组,第二层为索引数组)
  php页面
$arr3=array(
    array("北京","上海","天津"),
    array("宋江","李逵","卢俊义")
);
$smarty->assign("arr3",$arr3);  tpl页面
||||||||||  浏览器

北京||上海||天津||宋江||李逵||卢俊义  数组array  二维数组 (第一层为索引数组,第二层为关联数组)
  php页面
//关联二维数组
$arr4=array(
    array(
     "id"=>"a001",
     "name"=>"yang",
     "age"=>"33"        
    ),
    array(
        "id"=>"a002",
        "name"=>"wang",
        "age"=>"23"
    )
);
$smarty->assign("arr4",$arr4);  tpl页面
||||||||||  浏览器

a001||yang||33||a002||wang||23  数组array  二维数组 (第一层为关联数组,第二层为关联数组)
  php页面
$arr5=array(
    "emp1"=>array(
        "id"=>"a001",
        "name"=>"yang",
        "age"=>"33"
    ),
    "emp2"=>array(
        "id"=>"a002",
        "name"=>"wang",
        "age"=>"23"
    )
);
$smarty->assign("arr5",$arr5);  tpl页面
||||||||||  浏览器

a001||yang||33||a002||wang||23  数组array  二维数组 (第一层为关联数组,第二层为索引数组)
  php页面
$arr6=array(
    "emp1"=>array(
       "a001","yang", "33"
    ),
    "emp2"=>array(
      "a002","wang", "23"
    )
);
$smarty->assign("arr6",$arr6);  tpl页面
||||||||||  浏览器

a001||yang||33||a002||wang||23  对象object  

  php页面
class Dog{
    var $name;//var是公开变量
    var $age;
    var $color;
    var $arrT;
    var $arr2;
    var $master;//小狗主人
    function __construct($name,$age,$color,$arr,$arr2){
        $this->name=$name;
        $this->age=$age;
        $this->color=$color;
        $this->arrT=$arr;
        $this->arr2=$arr2;
    }
}
//一维索引数组
$arrA=array('beijing','shanghai','tianjin');
//一维关联数组
$arrB=array(
    'city1'=>'beijing',  'city2'=>'上海',  'city3'=>'天津'
);
$arrC=array(
    array(
        "id"=>"a001",
        "name"=>"yang",
        "age"=>"33"
    ),
    array(
        "id"=>"a002",
        "name"=>"wang",
        "age"=>"23"
    )
);
//对象的分配
class Master{
    var $name;
    var $address;
}
$master=new Master();
$master->name="津沙港湾";
$master->address="厦门";
//实例化对象
$dog=new Dog("小明",5,"红色",$arrA,$arrC);
$dog->master=$master;
$smarty->assign("dog",$dog);
$smarty->display("hello.tpl");  tpl页面(对象成员,对象中一维索引数组,对象中二维数组,对象中对象的属性
name}>||age}>||color}>
arrT[1]}>
arr2[0].name}>
master->name}>  浏览器

小明||5||红色
shanghai
yang
津沙港湾  php页面 (对象中参数传入是一维关联数组$arrB)
$arrB=array(
    'city1'=>'beijing',  'city2'=>'上海',  'city3'=>'天津'
);
$dog=new Dog("小明",5,"红色",$arrB,$arrC);  tpl页面(对象中一维关联数组
arrT.city1}>  浏览器

beijing  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-651785-1-1.html 上篇帖子: Linux下安装PHP扩展Memcache-11801268 下篇帖子: PHP Smarty 模板 读取配置文件变量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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