php 学习之对象

php中怎么实现创建一个对象然后全局都能调用?

在PHP中相当常见的一种情形时,我们只需要创建一个对象一次,然后在我们的整个程序中使用它。一个很好的例子就是smarty变量,一旦被初始化后就可以在任何地方使用。这种情形的一个很好实现方案就是单例模式。示例代码如下:
function smartyObject()  
  {  
    if ($GLOBALS[‘config‘][‘SmartyObj‘] == 0)  
    {  
      $smarty = new SmartyGame();  
      $GLOBALS[‘config‘][‘SmartyObj‘] = $smarty;  
    }  
    else 
      $smarty = $GLOBALS[‘config‘][‘SmartyObj‘];  
    return $smarty;  
  }

注意,我们拥有一个全局smarty变量(该示例中它在config.php中被初始化),如果它的值为0,我们将创建一个新smarty对象。否则,它意味着该对象已经被创建,我们只需要返回它。


php中连续调用两个方法

get_core()和get_id()方法应该都会返回当前对象,即 $this。所以才可以使用这样子的连续调用。至于结果是什么还要看实际的代码,但有一点可以肯定的是它会设置或修改对象的某个状态(属性)。这样子下面举一个例子:

class A {    public function get_core()    {        // 其他代码        return $this;    }    public function get_id()    {        // 其他代码        return $this;    }    public function exec()    {        // 这里就可以这样子连续调用了        $this->get_core()->get_id();    }}$obj1=new A();$obj1->get_core()->get_id();
时间: 2024-08-27 11:10:11

php 学习之对象的相关文章

Javascript学习------FileSystemObjec对象

动态创建FileSystemObject对象: var fso=new FileSystemObject("Scripting.FileSystemObject"); (接下来可以用变量fso对Drive对象.Drives集合.File对象.Files集合.Folder对象.Folders集合以及TextStream对象进行相应的操作.) FileSystemObject对象的方法 ·GetAbsolutePathName()方法:该方法根据提供的路径返回完整的路径. ·GetBase

[Java学习笔记]对象克隆

对象克隆: 浅克隆: 被克隆的对象中的值类型数据被复制一份新值,但是引用的对象只被复制其引用传递给新克隆出来的对象 深克隆: 被克隆的对象中的值类型数据被复制一份新值,并且其中引用的对象会重新创建新的对象,把新对象的引用传递给新克隆出来的对象 Java中实现克隆: Java中Object中定义了clone方法,默认为浅克隆操作,即你只是简单super.clone得到的结果是浅克隆的结果,如果需要深克隆,则需要实现Cloneable接口,并且重写clone方法 查看Java源代码发现Object中

javascript学习------Number对象,Boolean对象

Math对象: 该对象提供了大量的数学常量和数学函数. 使用Math对象时,不应该使用new关键字创建对象,而应直接使用. 如: Math.PI; 例子:随机产生指定位数的验证码 Number对象的创建: 1. var num = new Number(object); 2. var num = Number(object); Number对象的属性: 1.MAX_VALUE属性 2.MIN_VALUE属性 3.NEGTIVE_INFINITY属性:负无穷大 4.POSITIVE_INFINIT

黑马程序员-OC学习日记-对象与方法、对象与函数

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.NSString类简介 1.NSString是OC中用来表示字符串的一个类 2.NSString类创建 (1)通过字面量方式创建 NSString * str = @"要努力学习!"; (2)通过对象方法创建 NSString * str1 = [NSString alloc]; str1 = [str1 initWithUTF8String:"今天雾霾好大!"

【JavaScript】【学习】对象的创建和继承

下午刚刚看完了<JavaScript高级程序设计>中的第六章,面向对象的程序设计,因为自己以前没有面向对象程序设计的基础,所以理解得有些困难,但是通过自己的努力研读+上网查资料+反复实践,总算是答题上理解了,对我的编程思维算是一个很大的提高吧,这里把学习笔记和心得发一下,方便以后自己查阅. 一.理解对象 在JavaScript中,一切皆是对象,前面学习引用类型,基本都是JavaScript中的内置对象,而基本类型,则都是这些内置对象的实例,BOM,DOM也是对象,全局变量可以视为window的

深入学习JavaScript对象

JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始值或其他对象)聚合在一起,可通过属性名访问这些值.而属性名可以是包含空字符串在内的任意字符串.JavaScript对象也可以称作一种数据结构,正如我们经常听说的“散列(hash)”.“散列表(hashtable)”.“字典(dictionary)”.“关联数组(associative array)”

JavaScript 学习笔记 - 对象和继承

本文是JavaScript The Good Part 有关对象和继承的学习笔记. 1. Object.create 本函数是ECMAScript 5中的标准函数,其作用是用一个对象作为原型来生成另一个对象,可以用以下的code 模拟实现. if(typeof Object.create !== 'function') { Object.create = function(proto){ var F = function(){}; if(typeof proto !== 'object'){ /

objc_msgSend消息传递学习笔记 – 对象方法消息传递流程

在Effective Objective-C 2.0 – 52 Specific Ways to Improve Your iOS and OS X Programs一书中,tip 11主要讲述了Objective-C中的消息传递机制.这也是Objective-C在C的基础上,做的最基础也是最重要的封装. Static Binding And Dynamic Binding C中的函数调用方式,是使用的静态绑定(static binding),即在编译期就能决定运行时所应调用的函数.而在Obje

JavaScript进阶学习——DOM对象

DOM对象 1认识DOM 2getElementByName方法 3getElementByTagName方法 4区别getElementByIdgetElementByNamegetElementByTagName 5getAttribute方法 6setAttrubute方法 7节点属性 8访问子节点childNodes 9访问子节点的第一个最后项 10访问父节点parentNode 11访问兄弟节点 12插入节点appendChild 13插入节点insertBefore 14删除节点re

Python学习_01_对象

之前关于python的知识比较零散,这一个系列的随笔将python重新学习整理一遍.学习书籍<Python核心编程>第二版. Python对象基础 python并不是一个单纯面向对象的语言,他融合了其他语言,如函数式语言的特性.但是python的面向对象也是很强大的. 所有的Python对象都具有三个属性:身份(id),类型(type),值(value).身份属性可以通过内建函数id()获得,可以看做是对象的内存地址,每个对象的id值都是唯一的,所以可以用id来判断两个对象是否是同一块内存的不