php中thi和elf的区别是什么

2025-04-13 09:30:03 2
  • 收藏
  • 管理
    php中this和self的区别是:self调用的是类,而$this调用的是实例化的对象。self可以访问本类中的静态属性和静态方法,以及const定义的常量,this可以调用本类中的方法和属性。 区别: self调用的是类,而$this调用的则是实例化的对象。 (推荐教程:php教程) 下面我们来详细说明一下: 1、self可以访问本类中的静态属性和静态方法,可以访问父类中的静态属性和静态方法。用self时,可以不用实例化。 代码示例: 复制class self_test {static $instance;publicfunction __construct(){self::$instance =instance;//静态属性只能通过self来访问}publicfunction tank(){returnself::$instance;//访问静态属性}} $str =new self_test(); echo $str->tank(); 结果输出: 复制instance 2、self可以访问const定义的常量 代码示例: 复制class self_test {const NAME =tancy;publicfunction tank(){returnself::NAME;}} $str =new self_test(); echo $str->tank(); 三、this可以调用本类中的方法和属性,也可以调用父类中的可以调用的方法和属性,除了静态属性和const常量,基本上都可以使用this调用。 代码示例: 复制class self_test {public $public;private $private;protected $protected;publicfunction __construct(){ $this->public=public; $this->private=private; $this->protected=protected;}publicfunction tank(){return $this->public;}publicfunction dell(){return $this->private;}publicfunction datesrt(){return $this->protected;}} $str =new self_test(); echo $str->tank(); echo "
    "; echo $str->dell(); echo "
    "; echo $str->datesrt(); 结果: 复制publicprivateprotected 总结:self是引用静态类的类名,而$this是引用非静态类的实例名。
    上一页:php中ubtr()函数有什么用法 下一页:php中ppt转pdf问题
    全部评论(0)