位置: 编程技术 - 正文

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)

  • 城市维护建设税怎么做分录
  • 增值税进项税额加计抵减政策
  • 业务招待费进项税额转出表二
  • 劳务发票可以抵扣多少
  • 发票的规格和型号有哪些
  • 普票能抵扣多少
  • 会计净额法和总额法
  • 帮别人买交强险,受益人是我,有影响吗
  • 工会经费2019年新政策
  • 出售简易征收的固定资产的增值税怎么计算
  • 用库存现金支付职工医药费用69元,会计人员
  • 中小型企业库存的问题及对策
  • 如何核算小企业收入
  • 融资租赁方式租出的固定资产
  • 收入工程款后什么时候计提印花税
  • 长期挂账应收账款怎么调
  • 简易征收如何入账
  • 结算本月应付职工薪酬,其中生产工人工资为18000
  • 小规模租赁税是怎么征收的
  • 营改增转让土地税收政策
  • 个体户一般纳税人和小规模的区别
  • 商标的费用能抵扣吗
  • 学校应该缴纳的税
  • 增值税出口退税计算
  • 没有结转损益影响利润表吗
  • 权益法核算下的顺流交易
  • 开启共享文件夹
  • 信息化投入包括什么投入和什么投入
  • win7如何打开管理员权限
  • 企业购买银行理财
  • php parse_url
  • 债券转让增值税例子
  • 资产减值的会计政策
  • koeids.dll
  • php 代码
  • php读取excel内容
  • 潜水时看到的鱼
  • trace命令详解
  • php计时函数
  • which 查找文件
  • 劳务费800以上扣税标准
  • 公司记账可以不开发票吗
  • 管理费用的借贷科目
  • 一次性用品可以做什么东西
  • 通过SQL Server 2008数据库复制实现数据库同步备份
  • linux mysql 找回密码
  • 个体工商户核算方式填什么
  • 营业外收入包括其他业务收入吗
  • 一般纳税人购入不动产增值税税率
  • 初始数据都录入什么意思
  • 收到免税发票怎么做账
  • 收到支付宝认证怎么做账
  • 生产中产生的废油漆桶等危险废物应当作为什么贮存
  • 商品未入库直接销售怎么记账
  • 电子承兑被拒付(可拒付追索)
  • 企业净利润的分配顺序
  • 外来原始凭证丢了怎么办
  • 预收账款为什么不是货币性项目
  • 断电恢复
  • mysql存emoji表情
  • fedora安装xorg
  • win10重置此电脑保留我的文件
  • win7开机出现标志后就重启
  • sstray.exe - sstray是什么进程 有什么作用
  • 在win7系统中如何用快捷键复制文件或文件夹
  • win10系统永久激活软件
  • win10系统下怎么安装caxa2016电子图板 caxa2016电子图板安装详细图文教程
  • win8 metro启动界面
  • Win7系统电脑开不开机怎么办
  • python3循环语句
  • django框架mvt
  • c++ nops
  • 微软早在1985年便首次使用了安卓上饱受争议的汉堡按钮
  • python设计gui
  • Developing for Android, IV: The Rules: Networking
  • android开发—01开发环境的搭建
  • JQuery点击行tr实现checkBox选中的简单实例
  • 北京顶点b128怎么样
  • 病历证明在医院保存多久
  • 辽宁地税电子税票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设