php中this关键字用法分析

本文实例讲述了php中this关键字用法。分享给大家供大家参考,具体如下:

下面定义了一个Cart类

<?php
class Cart
{
  var $items; // 购物车中的项目
  // 把 $num 个 $artnr 放入车中
  function add_item ($artnr, $num)
  {
    $this->items[$artnr] += $num;
  }
  // 把 $num 个 $artnr 从车中取出
  function remove_item ($artnr, $num)
  {
    if ($this->items[$artnr] > $num) {
      $this->items[$artnr] -= $num;
      return true;
    } else {
      return false;
    }
  }
}
?>

以一段代码说明问题,在一个类的定义内部,你无法得知使用何种名称的对象是可以访问的:在编写 Cart 类时,并不知道之后对象的名称将会命名为 $cart 或者 $another_cart。因而你不能在类中使用 $cart->items。然而为了类定义的内部访问自身的函数和变量,可以使用伪变量 $this 来达到这个目的。$this 变量可以理解为“我自己的”或者“当前对象”。因而 '$this->>items[$artnr] += $num' 可以理解为“我自己的物品数组的 $artnr 计数器加 $num”或者“在当前对象的物品数组的 $artnr 计数器加 $num”。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP5中的this,self和parent关键字详解教程

    首先我们来明白上面三个关键字: this,self,parent,从字面上比较好理解,是指这,自己,父亲,呵呵,比较好玩了,我们先建立几个概念,这三个关键字分别是用在什么地方呢?我们初步解释一下,this是指向当前对象的指针(我们姑且用C里面的指针来看吧),self是指向当前类的指针,parent是指向父类的指针.我们这里频繁使用指针来描述,是因为没有更好的语言来表达,呵呵,语文没学好. -_-# 这么说还不能很了解,那我们就根据实际的例子结合来讲讲. (1) this 复制代码 代码如下: <

  • 深入php self与$this的详解

    先谈parent与self: 复制代码 代码如下: <?php/* * Created by YinYiNiao */ class A{  function __construct(){   echo "基类A的构造方法<br />";  } } class B extends A{  function __construct(){   parent::__construct();   echo "子类B的构造方法<br />";   

  • php self,$this,const,static,-&gt;的使用

    今天来总结下. .在类的内部方法访问已经声明为const及static的属性时,使用self::$name的形式.注意的是const属性的申明格式,const PI=3.14,而不是const $PI=3.14 复制代码 代码如下: class clss_a { private static $name="static class_a"; const PI=3.14; public $value; public static function getName() { return se

  • PHP编程过程中需要了解的this,self,parent的区别

    {一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object Oriented Programming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的. PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性.这里我主要谈的是 this,self,parent 三个关键字之间的区别.从字面上来理解,

  • 探讨PHP中this,self,parent的区别详解

    {一}PHP中this,self,parent的区别之一this篇面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的.PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性.这里我主要谈的是this,self,parent 三个关键字之间的区别.从字面上来理解,分别是指

  • PHP中::、-&gt;、self、$this几种操作符的区别介绍

    在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->. 另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this.

  • php面向对象全攻略 (三)特殊的引用“$this”的使用

    7.特殊的引用"$this"的使用 现在我们知道了如何访问对象中的成员,是通过"对象->成员"的方式访问的,这是在对 象的外部去访问对象中成员的形式,那么如果我想在对象的内部,让对象里的方法访问本对 象的属性,或是对象中的方法去调用本对象的其它方法这时我们怎么办?因为对象里面的所 有的成员都要用对象来调用,包括对象的内部成员之间的调用,所以在PHP 里面给我提供了 一个本对象的引用$this,每个对象里面都有一个对象的引用$this 来代表这个对象,完成对象

  • PHP中$this和$that指针使用实例

    PHP5中定义了一个特殊的方法名"__clone()"方法,是在对象克隆时自动调用的方法,用"__clone()"方法将建立一个与原对象拥有相同属性和方法的对象,如果想在克隆后改变原对象的内容,需要在__clone()中重写原本的属性和方法,"__clone()"方法可以没有参数,它自动包含$this和$that两个指针,$this指向复本,而$that指向原本,具体实例如下: 复制代码 代码如下: <?php class Person {

  • php class中self,parent,this的区别以及实例介绍

    一,this 1,要用this,你必有是一个对像的形势,不然它会报错的,Fatal error: Using $this when not in object context.2,this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性 二,self 1,self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法.2,用self时,可以不用实例化的 三,parent 1,parent可以访问父类中的静态属性和静态方法.2,用parent时,可以不用实例化的 复

  • php类中的$this,static,final,const,self这几个关键字使用方法

    本篇文章主要分项了一下关于php类中的$this,static,final,const,self这几个关键字使用方法. $this $this表示当前实例,在类的内部方法访问未声明为const及static的属性时,使用$this->value='phpernote';的形式.常见用法如: $this->属性 $this->方法 举例如下: <?php class MyClass{ private $name; public function __construct($name){

  • PHP的构造方法,析构方法和this关键字详细介绍

    一.什么是构造方法    构造方法是类的一种特殊的方法,它的主要作用是完成对新对象初始化.    特点:1.    没有返回值.2.    在创建一个新的对象时,系统会自动调用该类的构造方法完成对新对角的初始化.    语法:    php5:        修饰符 function __construct() {                            //code }    php4:        修饰符 function 类名() {                    

  • php中$this-&gt;含义分析

    我们一般是先声明一个类,然后用这个类去实例化对象! 但是,当我们在声明这个类的时候,想在类本身内部使用本类的属性或者方法.应该怎么表示呢? 例如: 我声明一个User类!它只含有一个属性 $name; class User { public $_name; } 现在,我给User类加个方法.就用getName()方法,输出$name属性的值吧! 复制PHP内容到剪贴板 PHP代码: 复制代码 代码如下: class User { public $name; function getName()

随机推荐