位置: 编程技术 - 正文

ThinkPHP中类的构造函数_construct()与_initialize()的区别详解(thinkphp框架结构)

编辑:rootadmin

推荐整理分享ThinkPHP中类的构造函数_construct()与_initialize()的区别详解(thinkphp框架结构),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:thinkphp curl类,thinkphp 构造函数,thinkphp d方法,thinkphp db类,thinkphp 构造函数,thinkphp 构造函数,thinkphp curl类,thinkphp db类,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

相信熟悉THINKPHP的phper基本上都很熟悉_initialize()这个方法,我们似乎也很少去使用_construct() ,除非自己写插件,否则还真是很少用到。

今天查看代码突然看到_construct()这个php自带的构造方法,我的第一感觉是比较陌生,虽然之前学习java时经常遇到,但是很久不用基本忘记。我平时的习惯是将知识的重点写

在我那本小笔记上,但是很久不写字,曾经高中那个那种飘逸灵动的书写笔法彻底丢到异次元。再加上之前的想法,所以就来学习学习技术大牛们写写博客,这不是为了装逼,而只是让自己工作成果的点点滴滴都能不随时间流逝而消散。下面来看看详细的介绍吧。

先贴上代码(我的环境是wamp,使用了TP框架):

创建的FatherAction.class.php文件

创建的SonAction.class.php文件

运行子类SonAction里的index()可以看到输出的结果:

如果将子类改为:

运行结果为;

ThinkPHP中类的构造函数_construct()与_initialize()的区别详解(thinkphp框架结构)

上面的结果可以得出结论:

在执行子类的构造函数时并不会自动调用父类的构造函数,如果你要调用的话,那么要加上parent::__construct()

当我们把上述的构造方法改为THINKPHP_initialize()方法时运行会发现:结果与前面的一致,若要执行父类的_initialize()方法,也需要使用这一句:parent::_initialize()

那是不是说明php自带的构造函数__construct()与THINKPHP的_initialize()方法一样的呢?

先贴上两段代码:

当执行子类SonAction的index方法时发现,输出的结果为:father

即子类调用了父类的构造函数,而没有调用子类的_initialize()方法

再贴上两段代码:

执行子类SonAction的index方法,发现输入的结果为hellofather

由此可以得出结论:

  当THINKPHP的父类有构造函数而子类没有时,THINKPHP不会去执行子类的_initialize() ;

  当THINKPHP的父类子类均有构造函数时,要调用父类的构造函数必须使用parent::__construct() ----------------- _initialize()同理;

  当THINKPHP的子类同时存在__construct构造函数和_initialize()方法,只会执行子类的__construct构造函数(这个本人亲测,上述代码没有)。

总结

标签: thinkphp框架结构

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

上一篇:php解析mht文件转换成html的实例(php 解析)

下一篇:PHP+MYSQL实现读写分离简单实战(php读取mysql)

  • 税务机关代码怎样查询
  • 价税分离的公式是什么呀
  • 企业所得税汇算清缴时间
  • 一般纳税人外地预交税款怎么预缴
  • 决算报表与账不一致怎么调账
  • 劳务公司怎样纳税
  • 购货发票属于什么科目
  • 奖品偶然所得个税如何申报
  • 增值税税收返还政策
  • 招待客人的场景图
  • 公司在原有生产领域内充分利用
  • 冲回多提所得税
  • 营改增之前固定资产可以抵扣吗
  • 贸易公司出口退税流程及账务处理
  • 物流公司承担货物损失赔偿如何写会计分录
  • 网络发票和纸质发票不一致会计处理
  • 劳务和工资合并扣税吗
  • 公司购买茶叶应计入哪里
  • 跨年度取得发票会计分录
  • 理财收益的增值怎么算
  • 事业单位财政拨款是编制吗
  • 工程咨询费用取费标准
  • 苗木发票抵扣政策2021
  • php中文乱码解决
  • 酒店的啤酒
  • 外地企业预缴税款流程
  • 收回前欠货款会导致资产总额增加吗
  • PHP:mcrypt_generic_init()的用法_Mcrypt函数
  • 密歇根湖怎么读
  • pytorch_lightning.utilities.exceptions.MisconfigurationException: You requested GPUs: [1] But...
  • 销售地下车库缴纳哪些税
  • 金蝶 账无忧 使用说明
  • 原始凭证必须来源于外部吗
  • setenforce 0命令
  • 生产车间领用工具
  • lvs命令详解
  • 防洪保安资金可以抵扣个税吗
  • 劳务派遣差额会计分录
  • 发票收件人信息
  • 出差餐补属于福利费吗
  • vue 生产环境
  • 长期股权投资的账面价值怎么计算
  • 删除mysql57服务
  • 核定征收一般纳税人进项是否可抵扣
  • 未投入使用的固定资产折旧计入什么科目
  • 个体户需要给员工买五险一金吗
  • 资金占用费怎么写
  • 金税盘抵增值税
  • 私募基金如何做账
  • 冲估价入库怎么冲成本
  • 估价入账的账务处理
  • 购进商品用于销售
  • 筹建期发生的费用怎么申报
  • 公司盈利的钱怎么拿出来
  • 现金存银行凭证
  • 银行手续费没拿可以退吗
  • 物流运输业务
  • 专票三流合一指哪三流
  • 开办费包括哪些内容多少钱
  • 成本会计难做吗没做过
  • mysql忽略大小写设置
  • xp系统为什么不能用了
  • ubuntu安装教程14.04
  • window 80端口被占用
  • centos7.4升级7.5
  • win7专用字符编辑程序
  • win7旗舰版系统激活密钥
  • win10升级失败怎么办
  • cocos creator js ts
  • unity用visual
  • 原生js有用吗
  • bat弹窗
  • jquery formatter
  • jquery实现点击按钮
  • 纳税人谈感受
  • 上海税务网厅
  • 杭州残保金2021年新政策申报时间
  • 地税局工作人员工资标准多少
  • 郑州高新税务局
  • 北京ca证书下载安装流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设