php:类中的static、final、const、parent、self、$this关键字使用方法和区别

简介: php:类中的static、final、const、parent、self、$this关键字使用方法和区别

定义


static: 定义类属性和类方法(静态属性和静态方法)

final: 定义不可被子类继承的类和方法

const:定义类常量

访问


parent:类内访问父类属性和父类方法

self: 类内访问类属性和类方法

$this: 类内访问实例属性和实例方法

示例


<?php
// 父类
class Base{
  // 实例属性
  private $age;
  public function __construct($age) {
    $this->age = $age;
  }
  // 不可以被子类继承该方法
  public final function getAge()
  {
    return $this->age;
  }
}
// 子类
class Demo extends Base{
  // 实例属性
  private $name;
  // 类属性
  public static $count;
  // 类常量,注意没有$
  public const TYPE = 1;
  public function __construct($age, $name) {
    // 调用父类构造方法
    parent::__construct($age);
    $this->name = $name;
  }
  // 类方法
  public static function getCount()
  {
    // 访问类属性
    return self::$count;
  }
  // 类方法
  public static function getType()
  {
    // 访问类常量
    return self::TYPE;
  }
  // 实例方法
  public function getName()
  {
    self::$count+=1;
    return $this->name;
  }
}
$demo = new Demo(12, 'Tom');
echo $demo->getAge() . PHP_EOL;
echo  $demo->getName() . PHP_EOL;
echo Demo::getCount() . PHP_EOL;
echo Demo::getType() . PHP_EOL;
相关文章
|
3月前
|
设计模式 安全 PHP
PHP 5与PHP 7的主要区别分析
综上所述,PHP 7相比于PHP 5,不仅在性能上有显著提升,还增加了许多新特性和改进,使得PHP语言更加强大和现代化。同时,弃用了一些过时的特性和函数,更加注重代码的健壯性和安全性。然而,这些改变也意味着从PHP 5迁移到PHP 7可能需要一些代码的调整和优化。
165 10
|
4月前
|
API PHP 开发者
别再混淆 PHP8.1 中纤程 Fibers 和协程 Coroutines 了 一文搞懂它们的区别
协程是可暂停的函数,PHP通过yield实现;Fibers是PHP 8.1+的轻量执行单元,可手动控制执行流程。协程适用于异步I/O,Fibers更灵活,为异步框架提供底层支持,让PHP能写出同步风格的异步代码,提升并发性能。(239字)
648 5
|
数据安全/隐私保护
PHP-Casbin 中 ABAC 的使用方法
PHP-Casbin 是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。
187 0
|
10月前
|
存储 PHP
PHP中如何定义常量以及常量和变量的主要区别
常量和变量在PHP中扮演着不同的角色,各有各的应用场景。常量用于存储不会改变的值,具有全局作用域,定义后在整个脚本中都可以访问。变量则用于存储在程序执行过程中可能改变的值,作用域可以是局部的或全局的。掌握常量和变量的定义和区别,有助于编写出更加清晰、可维护的代码。希望本文能帮助你更好地理解和使用PHP中的常量和变量。
243 20
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
ly~
|
安全 Java 大数据
php跟java有什么区别
PHP 和 Java 是两种常用编程语言,各有特色。PHP 语法简洁灵活,适用于快速开发中小型网站,尤其在 Web 脚本和数据库交互中表现出色。Java 则语法严谨,强类型特性使其在企业级应用、移动开发及大数据处理中更受欢迎,具备高稳定性和安全性。通过优化,PHP 性能可提升,而 Java 在大规模应用中表现更佳。总体而言,PHP 开发效率高但维护性稍差,Java 则更注重代码质量和安全性。
ly~
546 5
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
394 0
|
存储 PHP 数据安全/隐私保护
PHP类的使用方法
【8月更文挑战第2天】PHP类的使用方法
219 2
|
PHP
PHP中,你可以使用class关键字来定义一个类
【7月更文挑战第2天】PHP中,你可以使用class关键字来定义一个类
134 0