位置: 编程技术 - 正文

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

  • 结转增值税会计摘要
  • 企业所得税怎么做账
  • 代扣代缴增值税是什么意思
  • 个人补缴的医保要做账吗
  • 文件柜材质
  • 母子公司间借款利息交税吗
  • 收到租赁费发票的账务处理
  • 没有车加油费可以入账吗
  • 财务单子包括哪些
  • 待摊费用不要了怎么做账?
  • 预缴税款的会计分录贷其他应付款
  • 申请增值税一般纳税人登记在办理手续
  • 资产损失申报方式
  • 长期待摊费用要设明细科目吗
  • 未开发票申报
  • 利润负数所得税怎么算
  • 净资产利润率多少算好
  • 自然人税收管理扣缴端(原个税)申报实训
  • 小额纳税人进口增值税适用税率?
  • 测测网络
  • 手动滑屏怎么操作
  • 腾讯电脑管家帮忙卸载
  • 私募证券投资如何交易
  • 企业转让房产需要开具发票吗
  • 电脑显示器模糊不清晰是什么原因
  • mac 移动硬盘 文件系统
  • 支付宝消费计入什么科目
  • php socket_write
  • 纳税调整项目有一个其他调增金额是怎么组成的
  • 小规模年底税金怎么做账
  • php简单文件管理
  • php使用什么开发工具
  • 外商投资企业 外资企业
  • 税局 不负责任
  • 合宙air32f103 stlink
  • 在项目进行过程中,一个开发人员
  • 微信浏览器支持webassembly
  • Linux下DedeCMS/织梦CMS安全设置教程
  • 增值税发票查验结果不一致是什么意思
  • 小企业会计准则和一般企业会计准则的区别
  • 逾期超过一年
  • 网上怎么申请增驾摩托车
  • sql server2003
  • sql 按顺序查询
  • 企业捐赠支出计入什么科目
  • 购货方收到红字发票计入进项税转出还是进项税额负数?
  • 开银行承兑汇票需要多少保证金
  • 跨年的应收账款多做了怎么做账
  • 模具维修费用清单表格
  • 小规模购买税控盘分录怎么写
  • 实缴制下未到位资金
  • 如何调整银行存款余额
  • 代理返利
  • 事业单位小规模纳税人咨询服务的税率
  • 收到银行承兑汇票计入什么科目
  • 判断成本法核算方法
  • 工业企业预提费用怎么算
  • Ubuntu16.04 server下配置MySQL,并开启远程连接的方法
  • windows 注册表命令
  • 安装win7需要激活吗
  • win10系统无法打开这个应用
  • u盘里装pe系统
  • win7系统打开浏览器后突然卡住了
  • centos7添加ip地址
  • win8电脑怎么设置定时开机
  • 如何保留windows.old
  • win7系统电脑开不了机怎么办
  • 如何写出一篇游戏活动案例
  • 使用shell脚本实现自动化软件部署
  • cocos设置锚点
  • opengl教程48讲
  • 移动手机指令
  • 使用jquery实现的项目
  • android基础入门教程
  • 深入理解ffmpeg pdf
  • 股权转让所得怎么计算个税
  • 个人扣缴客户端怎样迁移信息
  • 无锡城市生活垃圾处理费
  • 在外地买车在青岛能买吗
  • 江西省国家税务局客运定额发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设