`
xiaoqiang6775
  • 浏览: 32618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP中::、->、self、$this操作符的区别

PHP 
阅读更多
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。
分享到:
评论

相关推荐

    PHP中::、->、self、$this几种操作符的区别介绍

    本文将深入探讨`::`、`->`、`self`和`$this`这四种操作符的区别,以帮助开发者更好地理解和应用它们。 首先,`::`双冒号操作符被称为作用域解析运算符,用于访问类的静态成员(包括常量`const`和静态变量`static`)...

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

    在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用...

    [php]mysql数据库操作——DB类

    else $this->conn=mysql_connect($this->host,$this->user,$this- >pass); // 临时链接 if (!$this->conn) $this->show_error('无法连接服务器'); $this->select_db($this->data); $this->query('SET NAMES '.$...

    php5 类与对象

    范围解析操作符用于引用类的静态成员或常量。 ```php class Constants { const PI = 3.14; } echo Constants::PI; ``` #### 10. PHP 类的静态成员属性与静态方法 `static` 关键字 静态成员属性和静态方法不属于...

    PHP工程师面试笔试真题(某知名监控产品服务商)-附解析.doc

    每次操作可以选择加1或翻倍,例如:1 -> 2 -> 4 -> 8 -> 16 -> 32 -> 64 -> 128 -> 256 -> 512 -> 1024 -> 2048 -> 2049 -> 2050 -> ... -> 2013。 6. PHP配置项中,和安全最不相关的是D.file_uploads,因为它主要...

    PHP_面向对象教程(强力推荐)

    一旦对象被创建,可以通过“->”操作符来访问它的属性和方法。例如,在上面的例子中,我们通过`$student->name`访问`Student`对象的`name`属性,通过`$student->introduce()`调用对象的方法。 #### 6. 特殊的引用...

    PHP 面向对象技术 教程

    echo $this->name . " is studying."; } } // 实例化对象 $student1 = new Student("Tom", 20); ``` #### 6. 如何使用对象中的成员? 一旦对象被实例化,就可以通过对象来访问其属性和服务。例如: ```php $...

    PHP面向对象各个功能步骤详解OOP思想

    PHP中有三种访问修饰符:public(公有)、protected(受保护)和private(私有)。它们控制着类成员的可见性和访问权限。 - **public**: 公有成员可以在任何地方被访问。 - **protected**: 受保护成员只能在类的...

    php语法之php常用类

    在PHP编程语言中,类是面向对象编程的基础,它封装了数据和操作这些数据的方法,使得代码更加结构化和可重用。本篇文章将详细探讨PHP中的常用类及其实例代码,帮助你更好地理解和运用这些核心概念。 1. **类的定义...

    面向对象的PHP(OOP)

    `$this`关键字用于引用当前对象的属性和方法,比如`$this->name`和`$this->age`。 访问修饰符控制类的属性和方法的可见性: - `public`:在类内外都可以访问。 - `private`:只在类内部可以访问,不被子类继承。 - ...

    php中PDO方式实现数据库的增删改查

    $this->pdo = new PDO($this->DSN, $this->DBUser, $this->DBPwd, array(PDO::ATTR_PERSISTENT => true)); } else { $this->pdo = new PDO($this->DSN, $this->DBUser, $this->DBPwd); } // 设置字符集为UTF-8 ...

    php self,$this,const,static,->的使用

    特别是`self`、`$this`、`const`、`static`以及成员访问操作符`->`的正确使用方法,这些是面向对象编程中经常用到的元素。下面将详细阐述这些关键字和符号在PHP类中的使用规则和含义。 首先,`const`关键字用于在类...

    2010年最新PHP类的精缩归纳

    $this->$name = $value + 2; } public function __get($name) { return $this->$name + 2; } } $a = new Test(); $a->b = 5; // 动态设置 echo $a->b; // 输出 7 ``` ### 4. 继承与父类构造 在子类中通过 `...

    php代码-PHP中的克隆

    $this->id = self::$counter++; } public function __clone() { self::$counter++; $this->id = self::$counter; } } $obj1 = new MyComplexClass(); $obj2 = clone $obj1; echo $obj1->id; // 输出 0 echo...

    PHP模拟asp.net的StringBuilder类实现方法

    在.NET框架中,ASP.NET的StringBuilder类是一个非常实用的工具,它允许开发者高效地构建和操作字符串,尤其在处理大量字符串拼接时,性能优于直接使用 "+" 或 " . " 连接字符串。然而,在PHP中,没有内置的相似类。...

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

    `self::`操作符用于调用静态成员,与`this`不同,`self`并不指向任何实例,而是指向定义它的类。在`__construct`方法中,`++self::$firstCount`递增的是类的静态变量`$firstCount`,而不是任何实例的属性。 最后,`...

    PHP中类静态调用和范围解析操作符的区别解析

    在PHP开发中,类静态调用和范围解析操作符(也称为双冒号操作符"::")经常被用来访问类的成员,但是它们各自有着不同的使用场景和含义。理解这两者之间的区别是掌握面向对象编程(OOP)中类和对象操作的重要部分。 ...

Global site tag (gtag.js) - Google Analytics