PHP中self和this的区别及操作方法具体实例如何详细分析?

2026-04-01 08:031阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计987个文字,预计阅读时间需要4分钟。

PHP中self和this的区别及操作方法具体实例如何详细分析?

本文实例讲解了PHP中self和this的区别及操作方法。面向对象编程(OOP,Object-Oriented Programming)已成为编程人员的必备技能。以下是对OOP在PHP中的应用概述:

在PHP中,self和this都是用来引用当前对象实例的关键字。它们的主要区别如下:

1. self: - self关键字用于访问同一类的静态成员。 - self只能用于静态方法或静态属性。 - self关键字不能在静态方法之外使用。

2. this: - this关键字用于访问当前对象实例的成员(属性和方法)。 - this关键字可以在任何方法或属性中使用。 - this关键字通常用于在构造函数中设置属性值。

以下是一个简单的例子:

phpclass MyClass { public $property;

public function __construct($value) { $this->property=$value; }

public function getPropertyValue() { return $this->property; }}

// 创建对象$myObject=new MyClass(Hello, World!);

// 使用this关键字访问属性echo $myObject->getPropertyValue(); // 输出:Hello, World!

// 使用self关键字访问静态属性(如果存在)// 例如:self::$staticProperty=This is a static property;

通过OOP的思想,PHP代码的可读性和可维护性得到提高。在实际项目中,合理运用OOP可以带来以下好处:

- 代码重用:通过封装和继承,可以复用代码,减少冗余。- 模块化:将功能划分为独立的模块,便于管理和维护。- 可扩展性:通过添加新类或修改现有类,可以轻松扩展系统功能。- 降低耦合度:将业务逻辑与显示逻辑分离,降低系统之间的依赖。

总之,OOP在PHP中的应用已经成为一种趋势,熟练掌握OOP相关技能对编程人员来说至关重要。

本文实例讲述了php 中self,this的区别和操作方法。分享给大家供大家参考,具体如下:

面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。

这里我主要谈的是this,self关键字之间的区别。从字面上来理解,分别是指这、自己。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针。我们这里频繁使用指针来描述

因为经常用框架的缘故,所以对php底层的一些运行机制和方法都不会了,所以最近比较喜欢研究这些底层的东西,写的东西虽然不是很好,但是自己一步步实地操作过来的,理解起来也比较容易,现在网上大多数的资料要么就是按照手册抄过来很官方的一些话,要么就是那些千篇一律的文章,确实有些不好理解,所以只能自己动手来熟悉啦

一. self

1.self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。用self时,可以不用实例化的

class self_test { static $instance; public function __construct(){ self::$instance = 'instance';//静态属性只能通过self来访问 } public function tank(){ return self::$instance;//访问静态属性 } } $str = new self_test(); echo $str->tank();

页面输出:

instance

class self_test { static $instance; public function __construct(){ self::$instance = 'dell'; } static public function pentium(){ return self::$instance;//静态方法也可以继续访问静态变量,访问时需要加$ } public function tank(){ return self::pentium();//访问静态方法pentium() } } $str = new self_test(); echo $str->tank();

页面输出:

dell

2.self可以访问const定义的常量

class self_test { const NAME = 'tancy'; public function tank(){ return self::NAME; } } $str = new self_test(); echo $str->tank();

页面输出:

tancy

PHP中self和this的区别及操作方法具体实例如何详细分析?

二.this

1.this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性,可以说除过静态和const常量,基本上其他都可以使用this联络

class self_test { public $public; private $private; protected $protected; public function __construct(){ $this->public = 'public'; $this->private = 'private'; $this->protected = 'protected'; } public function tank(){ return $this->public; } public function dell(){ return $this->private; } public function datesrt(){ return $this->protected; } } $str = new self_test(); echo $str->tank(); echo "</br>"; echo $str->dell(); echo "</br>"; echo $str->datesrt();

页面输出:

public
private
protected

一句话,self是引用静态类的类名,而$this是引用非静态类的实例名。

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

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

本文共计987个文字,预计阅读时间需要4分钟。

PHP中self和this的区别及操作方法具体实例如何详细分析?

本文实例讲解了PHP中self和this的区别及操作方法。面向对象编程(OOP,Object-Oriented Programming)已成为编程人员的必备技能。以下是对OOP在PHP中的应用概述:

在PHP中,self和this都是用来引用当前对象实例的关键字。它们的主要区别如下:

1. self: - self关键字用于访问同一类的静态成员。 - self只能用于静态方法或静态属性。 - self关键字不能在静态方法之外使用。

2. this: - this关键字用于访问当前对象实例的成员(属性和方法)。 - this关键字可以在任何方法或属性中使用。 - this关键字通常用于在构造函数中设置属性值。

以下是一个简单的例子:

phpclass MyClass { public $property;

public function __construct($value) { $this->property=$value; }

public function getPropertyValue() { return $this->property; }}

// 创建对象$myObject=new MyClass(Hello, World!);

// 使用this关键字访问属性echo $myObject->getPropertyValue(); // 输出:Hello, World!

// 使用self关键字访问静态属性(如果存在)// 例如:self::$staticProperty=This is a static property;

通过OOP的思想,PHP代码的可读性和可维护性得到提高。在实际项目中,合理运用OOP可以带来以下好处:

- 代码重用:通过封装和继承,可以复用代码,减少冗余。- 模块化:将功能划分为独立的模块,便于管理和维护。- 可扩展性:通过添加新类或修改现有类,可以轻松扩展系统功能。- 降低耦合度:将业务逻辑与显示逻辑分离,降低系统之间的依赖。

总之,OOP在PHP中的应用已经成为一种趋势,熟练掌握OOP相关技能对编程人员来说至关重要。

本文实例讲述了php 中self,this的区别和操作方法。分享给大家供大家参考,具体如下:

面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。

这里我主要谈的是this,self关键字之间的区别。从字面上来理解,分别是指这、自己。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针。我们这里频繁使用指针来描述

因为经常用框架的缘故,所以对php底层的一些运行机制和方法都不会了,所以最近比较喜欢研究这些底层的东西,写的东西虽然不是很好,但是自己一步步实地操作过来的,理解起来也比较容易,现在网上大多数的资料要么就是按照手册抄过来很官方的一些话,要么就是那些千篇一律的文章,确实有些不好理解,所以只能自己动手来熟悉啦

一. self

1.self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。用self时,可以不用实例化的

class self_test { static $instance; public function __construct(){ self::$instance = 'instance';//静态属性只能通过self来访问 } public function tank(){ return self::$instance;//访问静态属性 } } $str = new self_test(); echo $str->tank();

页面输出:

instance

class self_test { static $instance; public function __construct(){ self::$instance = 'dell'; } static public function pentium(){ return self::$instance;//静态方法也可以继续访问静态变量,访问时需要加$ } public function tank(){ return self::pentium();//访问静态方法pentium() } } $str = new self_test(); echo $str->tank();

页面输出:

dell

2.self可以访问const定义的常量

class self_test { const NAME = 'tancy'; public function tank(){ return self::NAME; } } $str = new self_test(); echo $str->tank();

页面输出:

tancy

PHP中self和this的区别及操作方法具体实例如何详细分析?

二.this

1.this可以调用本类中的方法和属性,也可以调用父类中的可以调的方法和属性,可以说除过静态和const常量,基本上其他都可以使用this联络

class self_test { public $public; private $private; protected $protected; public function __construct(){ $this->public = 'public'; $this->private = 'private'; $this->protected = 'protected'; } public function tank(){ return $this->public; } public function dell(){ return $this->private; } public function datesrt(){ return $this->protected; } } $str = new self_test(); echo $str->tank(); echo "</br>"; echo $str->dell(); echo "</br>"; echo $str->datesrt();

页面输出:

public
private
protected

一句话,self是引用静态类的类名,而$this是引用非静态类的实例名。

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

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