当前位置: 首页 > wzjs >正文

wordpress视频列表潍坊网站建设优化

wordpress视频列表,潍坊网站建设优化,海南论坛论坛网站建设,好的企业管理网站extends 一个类可以在声明中用extends关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。 被继承的方法和属性可以通过同样的名字重新声明被覆盖,但是如果父类定义或者常量时是使用类final,则不可被覆盖&#xff…
extends

一个类可以在声明中用extends关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。

被继承的方法和属性可以通过同样的名字重新声明被覆盖,但是如果父类定义或者常量时是使用类final,则不可被覆盖,可以通过parent::来访问被覆盖的方法或属性。从PHP 8.1起,常量可以声明为final。

final关键字:

final可用于类或方法:

  • final类不能被继承
  • final方法不能被子类重写
final class FinalClass { // 这个类不能被继承final public function finalMethod() { // 这个方法不能被子类重写// ...}
}
签名兼容性规则

当覆盖方法是,签名必须兼容父类方法。否则会导致Fatal错误,PHP 8.0 前是 E_WARNING级错误。兼容签名是指:遵守协变与逆变规则;强制参数可改为可选参数;添加的新参数只能是可选参数;放宽可见性而不是继续限制。这就是里氏替换原则(LiskovSubstitution Principle)简称LSP。不过构造方法和私有(private)方法不需要遵循签名兼容原则,就算签名不匹配也不会造成Fatal错误。

子类与父类不兼容的例子:通过移除参数、修改可选参数为必填参数。

::class

关键词class也可用于类名的解析。使用ClassName::class可获取类ClassName的完全限定名称。这对使用命名空间的类尤其有用。

自PHP 8.0起,::class 也可用于对象。此时解析将会在运行时进行。此操作的运行结果和在对象上调用get_class()相同。

Nullsafe方法和属性

自PHP8.0起,类属性和方法可通过“nullsafe”操作符访问:?-> 。 除了一处不同,nullsafe操作符和以上原来的属性、方法访问是一致的:对象引用解析为null是不抛出异常,而是返回null。如果链式调用中的一部分,剩余链条会直接跳过。

属性

类的变量成员叫做属性,或者叫字段。属性开头至少用一个修饰符,除了readonly 属性之外都是可选的,然后自PHP 7.4起可以跟一个类型声明,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但初始化的值必须是常量值。

在类的成员方法里,可以用-> (对象运算符):$this->property (其中property是该属性名)这种方式来访问非静态属性。静态属性则是用::(双冒号)self::$property 来访问。更多静态属性与非静态属性的区别参见静态static 关键字。

当一个方法在类定义内部被调用时,有一个可用的伪变量$this 。 $this是一个指向当前对象的引用。(通常是该方法所从属的对象,但如果是另一个对象静态调用,也可能是另一个)

类型声明

从PHP 7.4起,属性定义可以包含类型声明,但callable除外

类型属性必须在访问前初始化,否则会抛出Error

只读属性

自PHP 8.1起,可用readonly修饰符声明属性,防止初始化后修改属性。在PHP8.4前,readonly属性是隐式的私有设置,只能从同一类写入。从PHP 8.4 开始 , readonly属性是隐式的protected(set) , 因此可从子类设置,若需要,可以显式覆盖。

只读属性只能初始化一次,并且只能从声明它的作用域内初始化。对属性的任何赋值和修改都会导致Error异常。

除了修改,以下操作也会导致Error异常:

只读属性不会妨碍内部可变性。存储在只读属性中的对象(或资源)仍然可以在内部修改:

自PHP 8.3起,使用_clone()方法克隆对象时可以重新初始化readonly属性

动态属性

如果尝试在object上赋值不存在的属性,PHP将会自动创建相应的属性。动态创建的属性将仅能此类实例上使用。

由于PHP 8.2+不推荐动态属性,可以使用:

class Flexible {private array $data = [];public function __set(string $name, mixed $value): void {$this->data[$name] = $value;}public function __get(string $name): mixed {return $this->data[$name] ?? null;}
}

参考资料

PHP手册

http://www.dtcms.com/wzjs/152343.html

相关文章:

  • 建设网站免费模板微信营销的功能
  • 做网站诊断长尾词挖掘
  • 沈阳专业网站建设报价百度企业查询
  • 做网站的人会留下啥漏洞吗2024新闻热点摘抄
  • 如何提高网站的访问量企业网站制作需要多少钱
  • 网站域名区别提高seo排名
  • 网站建设 软件开发的公司哪家好制作网站首页
  • 包头做网站的公司苏州网站排名推广
  • 网站开发项目建设规范seo排名查询软件
  • 内蒙古做网站找谁网站百度关键词seo排名优化
  • 网站设计中怎么做二级页面qq推广工具
  • 外贸功能网站建设小程序如何推广运营
  • phalapi wordpress上海seo怎么优化
  • 长春作网站建设的公司seo 推广服务
  • 手机号码定位网站开发最权威的排行榜网站
  • 企业网站建设的目的有()百度指数下载
  • 游戏抽奖网站用java怎么做的打开百度浏览器
  • 网站建设的网站定位国外网站搭建
  • 龙华企业网站建设公司信息流广告投放
  • 合肥做网站价格是多少长尾关键词是什么意思
  • 做商品二维码检测的网站个人网页设计
  • 网络营销网站功能免费网站建设平台
  • 京东企业集团网站建设方案广州网站优化服务商
  • 一流的天津网站建设实体店100个营销策略
  • wordpress主题不分页重庆网站seo多少钱
  • 中国建设银行东莞市网站景区营销案例100例
  • 苏州大型网站建设百度热搜大数据
  • 成都科技网站建设费用拼多多推广引流软件免费
  • 中企动力网站后台操作深圳推广网络
  • 网站开发上门服务费seo专业实战培训