位置: 编程技术 - 正文

thinkPHP5.0框架引入Traits功能实例分析(thinkphp框架入门)

编辑:rootadmin

推荐整理分享thinkPHP5.0框架引入Traits功能实例分析(thinkphp框架入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:thinkphp框架介绍,thinkphp框架原理,thinkphp框架搭建,thinkphp框架怎么用,thinkphp框架结构,thinkphp5框架运行原理,thinkphp5框架运行原理,thinkphp3.2框架,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了thinkPHP5.0框架引入Traits功能。分享给大家供大家参考,具体如下:

ThinkPHP 5.0开始采用trait功能(PHP5.4+)来作为一种扩展机制,可以方便的实现一个类库的多继承问题。

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

但由于PHP5.4版本不支持trait的自动加载,因此如果是PHP5.4版本,必须手动导入trait类库,系统提供了一个助手函数load_trait,用于自动加载trait类库,例如,可以这样正确引入trait类库。

如果你的PHP版本大于5.5的话,则可以省略load_trait函数引入trait。

可以支持同时引入多个trait类库,例如:

或者使用

系统提供了一些封装好的trait类库,主要是用于控制器和模型类的扩展。这些系统内置的trait类库的根命名空间采用traits而不是trait,是因为避免和系统的关键字冲突。

thinkPHP5.0框架引入Traits功能实例分析(thinkphp框架入门)

trait 方式引入的类库需要注意优先级,从基类继承的成员被 trait 插入的成员所覆盖。优先顺序是来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法。

trait 类中不支持定义类的常量,在 trait 中定义的属性将不能在当前类中或者继承的类中重新定义。

冲突的解决

我们可以在一个类库中引入多个trait类库,如果两个 trait 都定义了一个同名的方法,如果没有明确解决冲突将会产生一个致命错误。

为了解决多个 trait 在同一个类中的命名冲突,需要使用 insteadof 操作符来明确指定使用冲突方法中的哪一个。

以上方式仅允许排除掉其它方法,as 操作符可以将其中一个冲突的方法以另一个名称来引入。

更多的关于traits的内容可以参考PHP官方手册。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

thinkPHP5.0框架自动加载机制分析 本文实例讲述了thinkPHP5.0框架自动加载机制。分享给大家供大家参考,具体如下:概述ThinkPHP5.0真正实现了按需加载,所有类库采用自动加载机制,并且

thinkPHP5.0框架命名空间详解 本文实例讲述了thinkPHP5.0框架命名空间。分享给大家供大家参考,具体如下:命名空间ThinkPHP采用命名空间方式定义和自动加载类库文件,有效的解决了

thinkPHP5.0框架模块设计详解 本文实例讲述了thinkPHP5.0框架模块设计。分享给大家供大家参考,具体如下:5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一

标签: thinkphp框架入门

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

上一篇:thinkPHP5.0框架API优化后的友好性分析(thinkphp3.2框架)

下一篇:thinkPHP5.0框架自动加载机制分析(thinkphp框架怎么用)

  • 一般纳税人内账税金的处理
  • 其他应收款款项性质有哪几种
  • 跨年的费用怎么调整
  • 税总界定超标准小规模纳税人偷税数额
  • 利用废旧物资生产设备
  • 公司如何开现金支票给个人
  • 多计提以前年度损益调整账务处理怎么做
  • 企业没有收入怎么办
  • 开了红字发票印花税怎么处理?
  • 电子发票开错怎么办
  • 个人独资企业没有公司章程吗?
  • 小规模纳税人酒水税率
  • 小微企业享受税收优惠个数
  • 计提了坏账准备对利润的影响
  • 企业间借款利息开票税目
  • 投标财务状况报告怎么提供
  • 收到几分钱的认证费怎么做账
  • 苹果6plus自带软件有哪些
  • 本月无生产,有折旧怎么办
  • 财管如何区分金额大小
  • 员工报销差旅费并归还借款会计分录
  • 辞退补偿金额怎么做账
  • windows10版本2004怎么样
  • Javascript Object和Map之间的转换
  • 勃艮第蜗牛干红葡萄酒
  • 巴拉诺维奇市
  • 关于企业发生的手续费及佣金支出的扣除标准
  • 债券溢折价是什么意思
  • 同业拆入属于哪个行业
  • php curl命令详解
  • javaweb总结笔记
  • SpringBoot+Vue实现简单用户管理平台第一篇(后端接口设计)
  • 实缴注册资本印花税如何缴纳
  • mail命令发送邮件
  • 收购企业如何看报表
  • 红字记账是什么意思
  • phpcms目录结构
  • 福利费要分部门吗
  • 资产减值损失如何计算
  • 排污收费制度在排污费征收方面存在的问题
  • SQLserver2014(ForAlwaysOn)安装图文教程
  • 贷款用途不符合规定有啥危害
  • 租金收入什么时候交房产税
  • 公司公账转私账违法吗
  • 企业所得税汇算清缴时间
  • 减资如何账务处理
  • 将本月应交未交增值税转入未交增值税
  • 日常生活中常见的气质类型包括
  • 结转成本应附什么原始凭证
  • 咨询费开发票应该选哪一项?
  • 员工的报销
  • 预付房租收到发票怎么写摘要
  • 外币报表折算差额会计分录
  • 长期待摊费用怎么记账
  • 简述什么是实收资本
  • 营业成本包括哪些会计科目
  • 其他货币资金的核算业务怎样处理
  • mysql 基本操作
  • xp系统控制面板在哪里打开
  • 服务器 安装win10
  • centos 环境变量
  • centos7 本地yum
  • 怎样把系统及软件迁移到固态
  • Win10 Mobile Redstone版本号确定为Build 11082明年发布
  • win10系统怎么一键返回桌面
  • oem预装系统
  • Ubuntu12.04(X86_64)上安装Mesa-8.0.4
  • cocos creator2.4
  • css checked
  • ORMLite完全解析(四) 官方文档第四章、在Android中使用
  • animate怎么整个图层移动
  • css实现3d效果
  • jquery使用教程
  • 国家税务统一代码查询
  • 税务局航天信息的操作流程
  • 内蒙古物业费收取标准2020
  • 现在还有地方税务局吗
  • 车辆购置税查询不到
  • 一般纳税人做账收费标准
  • 湖南省株洲市税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设