文档章节

smarty3.0高级应用---数据对象和注册对象

PHer
 PHer
发布于 2014/06/17 21:58
字数 444
阅读 10
收藏 0
点赞 0
评论 0

数据对象

应用情景:

        在通常某些首页网站,由于内容比较多,为了便于页面加载和后期网站的维护,可以讲一整篇的html分为几个模块来调用

<?php
    require "mySmarty.class.php";
    $smarty = new mySmarty;
    $headdata=$smarty ->createData();//创建数据对象
    $headdata->assign("data","头部");//向数据对象中放入数据
    $footdata = $smarty->createData();//创建另一个数据对象
    $footdata->assign("data","尾部");//想数据对象中放入数据

    $smarty ->display('head.html',$headdata);将数据对象放入到想对应的html模块中
    $smarty ->display('foot.html',$footdata);将数据对象放入到相应的html模块中

注册对象

    注册对象的主要作用,是现在对象在摸板中访问方法

    如下:

    require "mySmarty.class.php";
    $mysmarty = new mySmarty;

class dog{
        public static $name ="huanhuan";
        public static  $age  ="28";

        public function say(){
            echo "wangwang!!!!!";
        }
        public static function introduce(){
                echo "我的名字是",self::$name."<br/>";
                echo "我的年龄是",self::$age."<br/>";
        }
        public  function introduceTwo(){
        echo "我的名字是",$this->name."<br/>";
        echo "我的年龄是",$this->age."<br/>";
        }
}
$dog  = new dog;


//注册对象
$mysmarty->registerObject("chongwu",$dog,array('say','introduceTwo'));
$mysmarty->display('regis.html');

    registerObject('模板对象变量名',对象,array('方法1','方法2'....))

    方法可以使普通公开方法,也可以是静态方法,但是不能为私有或者protected 和abstract方法

除了在array中定义的方法,在模板中对象不能访问其他方法

在模板中,通过注册对象来调用方法的方式跟普通对象调用方法有区别

调用方式:

    {chongwu->方法名} 静态方法调用方法跟普通方法一样


该注册对象方法,只是正对方法,不关心对象,在模板中 对象时访问不了属性的

© 著作权归作者所有

共有 人打赏支持
PHer
粉丝 4
博文 121
码字总数 38443
作品 0
成都
程序员
关于smarty中cache的设置

smarty有一个对象可以开启缓存 $caching: 1:当值为1的时候,默认缓存保存时间是3600秒.倘若设置了cachelifetime,则缓存保存时间依据cachelifetime设置的时间为准.比如说: <?phprequire "...

PHer
2014/06/16
0
0
Java内存泄漏介绍

内存管理是Java最重要的优势之一,你只需创建对象,Java垃圾收集器会自动负责分配和释放内存。但是,情况并不那么简单,因为在Java应用程序中经常发生内存泄漏。 本章会说明什么是内存泄漏,...

架构之路
2017/12/08
0
0
Spring中ApplicationContext和beanfactory区别

org.springframework.beans及org.springframework.context包是Spring IoC容器的基础。BeanFactory提供的高级配置机制,使得管理任何性质的对象成为可能。ApplicationContext是BeanFactory的扩...

ArlenXu
2015/01/18
0
0
Android 用户界面(User Interface)概要

在Android应用程序中,使用View和ViewGroup对象来创建用户界面。有很多类型的View和ViewGroup类,它们都是View类的后代。 View对象是Android平台上用户界面的基础单元。View类用于叫做“wid...

长平狐
2012/10/16
361
0
依赖注入的简单记录

想理解php依赖注入和控制反转两个概念,就必须搞清楚如下的问题: DI——Dependency Injection 依赖注入 IoC——Inversion of Control 控制反转 1、参与者都有谁?  IOC/DI容器就是一个全局...

金于虎
2016/12/23
4
1
使用 Bind 来管理 Bean

Bind介绍 Hasor-Core 在0.0.8版本开始内置了 Bind 机制,这个机制是在 Guice 思想上发展而来。目前最新版本是 2.4.5。这一套 Bind 机制已经发展成熟。 创建Hasor AppContext 对象: 如果您对...

哈库纳
2014/07/15
0
0
深入研究Spring-IoC:两种设计和实现

一.Sprng IOC 解除了对象实例化造成的耦合现象;将对象的创建和对生命周期的管理交给了容器来管理,可以通过注入的方式将IOC容器中的对象供给开发者使用,极大方便了开发。 二.IOC容器系列的...

mengdonghui123456
2017/08/23
0
0
5.gloox 之 MessageSession

MessageSession类对象是任意两个实体之间消息会话的抽象。 详细说明: MessageSession是原始态和老式消息会话形式的一种替代。 原始的接口,它使用简单MessageHandler类的派生类,是基于一种...

冯京宝
2010/12/11
0
0
基于ADO.NET方法的数据库连接的数据发生器控件dotConnect for Oracle

dotConnect for Oracle完全基于ADO.NET方法,因此您完全可以采用标准ADO.NET数据提供的方法来使用它。是一款为Microsoft .NET Framework提供直接Oracle数据库连接的数据发生器控件。 具体功能...

netkongjian
2014/04/18
0
0
慕课网Flask高级编程实战-3.蓝图、模型与CodeFirst

3.1 应用、蓝图与视图函数 1.Flask的层级关系 Flask最上层是app核心对象 在这个核心对象上可以插入很多蓝图,这个蓝图是不能单独存在的,必须将app作为插板插入app 在每一个蓝图上,可以注册...

Meet相识_bfa5
06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

面试系列-40个Java多线程问题总结

前言 这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也...

Ryan-瑞恩
9分钟前
0
0
微信分享的细节

分享的缩略图要求: 一、图片大小小于32k 二、图片的尺寸为 宽度 :128px 高度:128px 分享title 和 description 出现金额等 以上情况存在会导致触发分享按钮 但是页面没有反应...

Js_Mei
15分钟前
0
0
【2018.07.23学习笔记】【linux高级知识 Shell脚本编程练习】

1、编写shell脚本,计算1-100的和; #!/bin/bashsum=0for i in `seq 1 100`do sum=$[$sum+$i]doneecho $sum 2、编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求...

lgsxp
17分钟前
0
0
xss攻防浅谈

导读 XSS (Cross-Site Script) 攻击又叫跨站脚本攻击, 本质是一种注入攻击. 其原理, 简单的说就是利用各种手段把恶意代码添加到网页中, 并让受害者执行这段脚本. XSS能做用户使用浏览器能做的...

吴伟祥
17分钟前
0
0
js回调的一次应用

function hideBtn(option) { if (option == 1) { $("#addBtn").hide(); $("#addSonBtn").hide(); }}$("body").on("click", "#selectBtn", function () {......

晨猫
23分钟前
0
0
C++_读写ini配置文件

1.WritePrivateProfileString:

一个小妞
24分钟前
0
0
通往阿里,BAT的50+经典Java面试题及答案解析(上)

Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性...

Java大蜗牛
24分钟前
1
0
数据库两大神器【索引和锁】

前言 只有光头才能变强 索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。 本文力求简单讲清每个知识点,希望大家看完能有所收获 声明:如果没有说明具体的数据库...

Java3y
28分钟前
0
0
Application Express安装

Application Express安装文档 数据库选择和安装 数据库选择 Oracle建议直接12.2.0.1.0及以上的版本,12.1存在20618595bug(具体可参见官方文档) Oracle 12c 中安装oracle application expr...

youfen
40分钟前
0
0
OpenMessaging概览

序 本文主要研究一下OpenMessaging 架构图 namespace,类似cgroup的namespace,用来进行安全隔离,每个namespace有自己的producer、consumer、topic、queue等 producer,消息生产者有两类,一...

go4it
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部