在成员方法中,调用成员方法的方法是对象名加方法名,格式就是“对象名->方法名”。但是在定义类的时候,我们往往不知道对象名是什么,所以就没法用对象名,这时,我们就要用到伪变量$this。

什么是$this?

$this的意思就是本身,在$this中有个指针,谁调用它,他就指向谁,它只能再类内部使用。大理石平台价格

$this用法实例:

我们来举个例子,让大家可以更加清楚的看到这个$this的含义指向。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?php

header("content-type:text/html;charset=utf-8");

class Preson{                                                //定义类

  public $name;

  public $age;

  public function __construct($Name,$Age)        //构造函数

  {

     $this -> name = $Name;

     $this -> age = $Age;

     echo '<pre>';

     var_dump($this);                  //打印出$this

  }

  public function showInfo(){             //成员方法

     echo "个人信息:";

     echo '<br/>' . "名字是:" . $this -> name . '<br/>' . "年龄是:" . $this -> age;

  }

}

$preson = new Preson("小草",25);           //实例化

var_dump($preson);                    //打印出$this

$preson -> showInfo();

echo '<hr>';

$preson = new Preson("大树",30);           //实例化

var_dump($preson);                   //打印出$preson

$preson -> showInfo();

从上图我们可以看到结果对比。打印出来的$this和$preson结果是一样的,也就是说,$preson调用了$this,$this指向的就是它,所以说结果是一样的。因此$this究竟指向哪是由所实例化的对象决定的,指向当前对象实例的指针。包括变量、方法都是如此。也就是印证了我们上面的话谁调用它,他就指向谁。

以上就是php面向对象之$this->用法简述的详细内容,

php面向对象之$this->用法简述的更多相关文章

  1. Cwinux简介及用法简述

    我在我的个人博客上发表了一篇文章 Cwinux简介及用法简述 http://apprentice89.com/cwinux_introduction_and_use/

  2. 转: __asm__ __volatile__内嵌汇编用法简述

    from: http://www.embedu.org/Column/Column28.htm __asm__ __volatile__内嵌汇编用法简述 作者:刘老师,华清远见嵌入式学院高级讲师,AR ...

  3. 类命名空间与对象、实例的命名空间 and 面向对象的组合用法

    类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就 ...

  4. Python()- 面向对象的组合用法

    面向对象的组合用法 一个类中以另一个类的对象作为数据属性(一个类中引用另一个类的对象)一种 "有" 的关系: 比如:定义 1个人类 & 1个武器类 然后 张三 有 枪 李四 ...

  5. Python面向对象中super用法与MRO机制

    1. 引言 最近在研究django rest_framework的源码,老是遇到super,搞得一团蒙,多番查看各路大神博客,总算明白了一点,今天做一点总结. 2. 为什么要用super 1)让代码维 ...

  6. python反射和面向对象的知识并简述基本的异常

    # 1.面向对象不是所有的情况都适用# 2.面向对象编程# a.定义类# class Foo:# def 方法1(self,bb):# b.根据类创建对象(创建) # class Person():# ...

  7. Python 3 iter函数用法简述

    Python 3中关于iter(object[, sentinel)]方法有两个参数. 使用iter(object)这种形式比较常见. iter(object, sentinel)这种形式一般较少使用 ...

  8. synchronized相关用法简述

    synchronized 锁,他是一个java 的关键字,能够保证同一线程只有一个线程访问或使用此修饰的代码块 用法 synchronized方法,synchronized块 synchronized ...

  9. JavaScript面向对象+Array的用法及字符串组合+动态建立锚点

    脚本部分: function school(sName,sDddress,sPhone,sMail) { this.SName = sName; this.SAddress = sDddress; t ...

  10. 面向对象3-this的用法

    1.当有定时器时 this会指向window <script type="text/javascript"> function Aaa(){ var _this=thi ...

随机推荐

  1. IDEA创建web项目详细过程

    相关软件:Intellij Idea2017.jdk16.tomcat Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系统 ...

  2. springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud

    今天在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到 ...

  3. Gitlab Runner实现CI/CD自动化部署asp.net core应用

    环境说明 一台git服务器(192.168.169.7),安装gitlab,docker. 一台web服务器(192.168.169.6),安装git,gitlab runner,docker,dot ...

  4. C#在txt类文件中追加内容

    string path = "test.txt"; FileStream mystream = new FileStream(path, FileMode.OpenOrCreate ...

  5. C#数字日期转成中文日期

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  6. csv注入复现代码

    以下代码生成的csv文件,使用Microsoft Execl能成功弹出计算器,虽然打开时有安全提示,但是大多数src还是会接收该类漏洞 -------------------------------- ...

  7. K2 BPM_康熙别烦恼(上篇)——分级授权_工作流引擎

  8. 【fiddler】fiddler基础

    一.浏览器设置 一般情况下,fiddler会自动修改IE浏览器的设置,捕捉到IE浏览器的搜有通讯.其他浏览器需要手动设置 如chrome 打开chrome->设置->高级->系统-& ...

  9. Vue学习官网和Vue的书籍 目录结构

    Vue基础知识学习网站[中文] https://cn.vuejs.org/v2/guide/ Vue路由知识学习网站[中文] https://router.vuejs.org/zh/guide/  V ...

  10. javascript_11-函数面试题

    函数经典面试题 1.---------------------------- // 解析器: // 预解析 全局作用域 // 先找var .function 和参数 // 找到var和function ...