位置: 编程技术 - 正文

PHP中的Trait 特性及作用(php trait用法)

编辑:rootadmin

推荐整理分享PHP中的Trait 特性及作用(php trait用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php中的trim,php7 trait,php中td,php中td,php中的trim,php tr td,php tr td,php traits作用,内容如对您有帮助,希望把文章链接给更多的朋友!

自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。

Traits 是一种为类似 PHP 的单继承语言而准备的代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用方法集。Traits 和类组合的语义是定义了一种方式来减少复杂性,避免传统多继承和混入类(Mixin)相关的典型问题。

Trait 和一个类相似,但仅仅旨在用细粒度和一致的方式来组合功能。Trait 不能通过它自身来实例化。它为传统继承增加了水平特性的组合;也就是说,应用类的成员不需要继承。

Trait是在PHP5.4中加入的,它既不是接口也不是类。主要是为了解决单继承语言的限制。是PHP多重继承的一种解决方案。例如,需要同时继承两个 Abstract Class, 这将会是件很麻烦的事情,Trait 就是为了解决这个问题。它能被加入到一个或多个已经存在的类中。它声明了类能做什么(表明了其接口特性),同时也包含了具体实现(表明了其类特性)

简单使用

首先,当然是声明个 Trait,PHP5.4 增加了 trait 关键字

同时,如果要在 Class 中使用该 Trait,那么使用 use 关键字

使用多个 Trait

在同个 Class 中可以使用多个 Trait

Trait 之间的嵌套

PHP中的Trait 特性及作用(php trait用法)

同时,Trait 之间也可以相互的嵌套,例如

Trait 的抽象方法(Abstract Method)

我们可以在 Trait 中声明需要实现的抽象方法,这样能使使用它的 Class 必须实现它

Trait 冲突

多个 Trait 之间同时使用难免会冲突,这需要我们去解决。PHP5.4 从语法方面带入了相关 的关键字语法:insteadof 以及 as ,用法参见

上面就是些 Trait 比较基本的使用了,更详细的可以参考官方手册。这里总结下注意的几 点:

Trait 会覆盖调用类继承的父类方法

Trait 无法如 Class 一样使用 new 实例化

单个 Trait 可由多个 Trait 组成

在单个 Class 中,可以使用多个 Trait

Trait 支持修饰词(modifiers),例如 final、static、abstract

我们能使用 insteadof 以及 as 操作符解决 Trait 之间的冲突

PHP命名空间和自动加载类 PHP的命名空间(namespace)是php5.3之后才有的。这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。为什么php中要使用namespace?假设

初识PHP中的Swoole Swoole是一种PHP高级Web开发框架,框架不是为了提升网站的性能,是为了提升网站的开发效率。最少的性能损耗,换取最大的开发效率。利用Swoole框架,

PHP如何使用Memcached 一、memcached简介memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的

标签: php trait用法

本文链接地址:https://www.jiuchutong.com/biancheng/293264.html 转载请保留说明!

上一篇:PHP错误处理函数(php常见的错误级别)

下一篇:PHP命名空间和自动加载类(php命名空间和自由空间)

  • 汽车增值税是企业交给国家的税
  • 所得税为什么比利润高
  • 主营业务税金及附加大概比例
  • 个人所得税数据已失效,请重新填写
  • 企业年末要写财务报告吗
  • 金税盘坏了更换需要几天
  • 小微企业免税销售额和其他免税销售额
  • 发包工程会计账务处理
  • 外汇结汇的方法有哪些呢?
  • 收到现金货款可以直接用吗
  • 补助属不属于工资
  • 部分退货退款剩下的钱什么时候给卖家
  • 缴纳增值税金税率是多少
  • 建筑企业如何管理资质证书
  • 增值税发票没有地址和开户行有效吗
  • 营业执照首次年报
  • 消费税可以跨年计提吗
  • 企业所得税固定资产一次性扣除
  • 合并财务报表的特点
  • 商贸企业仓储服务有哪些
  • 机票改签费要开发票吗
  • 汇算清缴发票可以做费用票吗
  • 专用发票的开票人收款人复核人都要开齐吗
  • 房地产企业的样板房,装修款如何缴纳增值税
  • 厦门新车购置税计算
  • 如何让自己的网站被百度收录
  • 转出的进项税额是加还是减
  • 加计抵减政策销售额占比怎么算
  • 土地长期租赁最长多长时间
  • 计算机视觉就业前景
  • 2021发票勾选认证
  • 应交税金 应交税费
  • 中国国防科技大学 博士
  • 事故赔偿金怎么处理
  • vue前端怎么运行
  • 财务f/p是什么意思的缩写
  • python的多线程 吃cpu太厉害
  • 2、springboot+mybatis+ajax+pageHelper+idea+maven(全套增删改查)
  • MongoDB的mongo shell常用操作方法及操作脚本笔记
  • 税负率包含哪些税种
  • 公账取现用途写什么
  • ibm.data.db2
  • 将自产产品用于赠送
  • 购进交通运输服务可以抵扣
  • 计提折旧的固定资产全年平均总值怎么算
  • 收到现金存款
  • 短期借款预提利息通过短期借款科目核算
  • 收购少数股东权益是利好吗
  • 应交税费要计提吗?
  • 出口退税分类管理三类企业
  • 旅行社差额征收怎么报税
  • 低值易耗品属于流动资产吗
  • 退货款现金流量如何做
  • 现金支票存根联丢失怎么办
  • 房租已支付未收到发票可以做费用吗
  • 什么是发票抬头信息
  • 售后回租融资是利好还是利空
  • 为什么要计提工资附加费
  • mysql的优化有哪几种
  • mysql 5.7 8.0
  • win10系统崩溃怎么修复开不了机
  • Windows server 2008设置远程桌面连接的详细步骤(图文教程)
  • ubuntu系统安装无线网卡驱动
  • 提升xp系统流畅度
  • mac最近使用的文稿打不开
  • 电脑w7系统怎么保存图片
  • win8.1使用教程
  • linux系统的介绍
  • linux如何使用数据库
  • 快捷方式栏在哪
  • 批处理是什么意思
  • shell脚本计算字符串长度
  • 怎样开启javascript功能
  • 安卓监听文件读写
  • 安卓listview添加数据
  • javascript 类型
  • javascript面向对象编程指南
  • 江苏国税电子税局
  • 江西税务客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设