位置: 编程技术 - 正文

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命名空间和自由空间)

  • 土地增值税常见问题及解答
  • 增值税专用发票和普通发票的区别
  • 材料报废是否可以税前扣除
  • 企业利润对外投资 所得税
  • 收到上年度所得税发票
  • 送货单和收据单的区别
  • 围挡制作开票的税收分类
  • 民办幼儿园的税收是多少
  • 电子税务局怎么下载电子发票
  • 年未决算的现金利润怎么算
  • 公司注销时长期投资怎么处理
  • 年末企业盈利有什么影响
  • 异地设立分公司可以独立核算吗
  • 地税退税政策
  • 代账报税软件哪个好
  • 平台服务费如何开票
  • 开普票时开票码怎么开
  • 小规模纳税人增值税怎么算
  • 合同签订的案例
  • 收回债权会计分录
  • 长期股权投资账面价值和公允价值不一致
  • 公司职工买房有补贴吗
  • 撤回和撤销是什么意思
  • 工程上的材料费进什么科目
  • 公司代扣代缴的保险费有哪些
  • 忘记用户登录密码怎么办
  • 合同的情势变更是什么
  • 鸿蒙系统怎么隐藏状态栏
  • win10系统更新出现错误代码
  • 电脑右下角弹出网页没有×怎么关闭
  • 公司取得发明专利证书股票大涨
  • 增值税进项如何取得更多
  • 收入成本科目
  • 广度优先算法代码
  • 什么是融资租赁型校园贷
  • 母子公司吸收合并税务处理
  • vue项目运行报错
  • 微信小程序开发完整项目
  • 什么叫财政专户返还方式
  • 借银行卡给别人过账有什么风险
  • 全网最详细的李白解说来了
  • 大数据投资发展有限公司
  • php image
  • 财务软件服务合同要交印花税吗
  • 建设单位和施工单位的责任和义务
  • 海关缴款书能重开吗
  • 库存周转率会大于1吗
  • 一般纳税人按简易办法计税销售额
  • 差旅费报销金额大于实际发生金额
  • 劳务是什么单位
  • 公司开发新产品的建议
  • 印花税计入会计什么科目
  • 信用减值损失和公允价值变动的区别
  • 发票必须包含什么内容
  • 农村信用社可计算利息吗
  • 工程结算与工程施工
  • 固定资产已经超额融资了还能发放置换贷款吗
  • 机床上的配件计入什么费用
  • 同一客户有应收应付可以相互抵消吗
  • 当月扣缴社保分录
  • 施工企业开专票还是开普票好
  • 支付个人运费没有发票怎么办
  • 借款归还时的收据填写
  • 开发票的时候密码超出密码区发票还能用吗?
  • 当月计提公积金下月发放怎么做分录
  • 现金日记账与现金流量表的区别
  • 企业注销以后
  • 建账的过程包括哪些内容
  • sqlserver bulkcopy
  • solaris教程
  • 部署与布署哪个正确
  • ubuntu 改名
  • msoxmled.exe是什么软件
  • input和button按钮合到一起
  • unity 位图字体
  • 广东省电子税务局电话
  • 海南省地方税务局关于土地增值税清算有关问题的通知
  • 北京市房山区限行范围
  • 国家税务总局16号文件
  • 牛力扳手怎么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设