位置: 编程技术 - 正文

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)

  • 小规模合作社免税吗
  • 固定资产进项税的账务处理
  • 税收 特征
  • 收购农副产品怎么做账
  • 普通发票的税费额度高吗
  • 库存商品损坏怎么做账
  • 发票超额如何收税
  • 股东个人将钱打入公司对公账户,能否算作投资款
  • 增值税专用发票使用规定 最新
  • 发票没作废写上作废了怎么办
  • 住房公积金个人和单位各承担多少
  • 其他应收款是否要收利息
  • 长期股权投资的减值准备的会计处理
  • 委托加工物资加工费怎么结转
  • 车辆生产企业目录
  • 高管培训费不能税前列支
  • 事业单位建账期初数银行存款余额填在哪个科目
  • 记名预付卡不得设置有效期不可赎回
  • 债权受让方如何交税
  • 一般纳税人销售旧货
  • 增值税普票税额
  • 所得税汇算清缴扣除标准
  • 资产收购的特殊性税务处理方法
  • 可转换债券赎回和回售如何理解
  • 企业增值税如何退税
  • 实收资本怎样入账
  • 银行承兑汇票质押贷款骗局
  • 房产税会计科目应该走税金及附加还是管理费用
  • 外销收入申报表怎么填
  • Win11/10 Surface App 新增支持自动检测 Surface Slim Pen 1 手写笔
  • php gd
  • 长期借款科目的期末余额反映尚未偿还的借款本金
  • origin2017曲线拟合
  • 坎塔布莱恩
  • 应纳税所得额准予扣除的有
  • 民非企业保险支出包括
  • 低值易耗品报废年限几年
  • 树莓派能干什么
  • open api平台
  • promise基本使用
  • 支付押金无法收取怎么办
  • 股息和未分配利润的区别
  • 采矿权如何进行融资
  • 营业外支出明细账
  • 小规模纳税人应交税费科目设置
  • 应交税费借方属于什么科目
  • 电子发票可以作废吗?当月
  • 第一季度利润表年初余额
  • 企业所得税核定管理办法
  • 深圳增值税普通发票和专用发票的区别
  • 无形资产未确认融资费用例题
  • 投资性房地产租金税率是多少
  • 银行收的账户管理费
  • 4s店出售试驾车账务处理
  • 应税劳务会计分录
  • 费用报销单和支付证明单的区别
  • 赠送成本的会计分录
  • 免征增值税还要计提附加税吗
  • 在建工程预付款授信
  • 收派服务与快递服务区别
  • 开窗函数窗口范围
  • mysql数据库备份与恢复的常用方法有几种
  • rpm方式安装
  • 忘记windows登陆密码
  • mac系统操作的小技巧
  • ubuntu zmq
  • linux操作系统root
  • win8开机启动项
  • 回调阶段
  • javascript的用法
  • 制作网站页面
  • Node.js中的事件循环是什么
  • androidsocket原理
  • linux shell中 if else以及大于、小于、等于逻辑表达式介绍
  • Backbone.js 0.9.2 源码注释中文翻译版
  • jq获取form表单数据
  • unity gpu优化
  • 怎样查手机是否维修过
  • 树叶加树叶等于几
  • 税额差怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设