广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >构造函数construct和ThinkPHP中initialize不同的示例分析
  • 314
分享到

构造函数construct和ThinkPHP中initialize不同的示例分析

2024-04-02 19:04:59 314人浏览 安东尼
摘要

这篇文章给大家分享的是有关构造函数construct和ThinkPHP中initialize不同的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Thinkphp中init

这篇文章给大家分享的是有关构造函数construct和ThinkPHP中initialize不同的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Thinkphp中initialize()和construct()这两个函数都可以理解为构造函数,前面一个是tp框架独有的,后面的是php构造函数,那么这两个有什么不同呢?

在网上搜索,很多答案是两者是一样的,ThinkPHP中initialize相当于php的construct,这么说是错误的,如果这样,tp为什么不用construct,而要自己弄一个ThinkPHP版的initialize构造函数呢?

自己试一下就知道两者的不同了。

a.php

class a{

    function __construct(){

        echo 'a';

    }

}

复制代码

b.php(注意:这里构造函数没有调用parent::__construct();)

include 'a.php';

class b extends a{

    function __construct(){

        echo 'b';

    }

}

$test=new b();

复制代码

运行结果:

b

复制代码

可见,虽然b类继承了a类,但是输出结果证明程序只是执行了b类的构造函数,而没有自动执行父类的构造函数。

如果b.php的构造函数加上parent::__construct(),就不同了。

include 'a.php';

class b extends a{

    function __construct(){

        parent::__construct();

        echo 'b';

    }

}

$test=new b();

复制代码

那么输出结果是:

ab

复制代码

此时才执行了父类的构造函数。

我们再来看看thinkphp的initialize()函数。

BaseAction.class.php

class BaseAction extends Action{

    public function _initialize(){

             echo 'baseAction';

    }

复制代码

IndexAction.class.php

class IndexAction extends BaseAction{

    public function (){

             echo 'indexAction';

        }

复制代码

运行Index下的index方法,输出结果:

baseActionindexAcition

复制代码

可见,子类的_initialize方法自动调用父类的_initialize方法。而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct();

这就是ThinkPHP中initialize和construct的不同。

感谢各位的阅读!关于“构造函数construct和ThinkPHP中initialize不同的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 构造函数construct和ThinkPHP中initialize不同的示例分析

本文链接: https://www.lsjlt.com/news/83747.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 构造函数construct和ThinkPHP中initialize不同的示例分析
    这篇文章给大家分享的是有关构造函数construct和ThinkPHP中initialize不同的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ThinkPHP中init...
    99+
    2022-10-19
  • javascript构造函数以及原型对象的示例分析
    小编给大家分享一下javascript构造函数以及原型对象的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如果是实例方法,不同的实例化,它们引用的地址是不一样的,是唯一的。//定义...
    99+
    2022-10-19
  • JS构造函数和实例化的关系及原型引入举例分析
    这篇文章主要介绍“JS构造函数和实例化的关系及原型引入举例分析”,在日常操作中,相信很多人在JS构造函数和实例化的关系及原型引入举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS构造函数和实例化的关系...
    99+
    2023-06-21
  • Navicat中数据备份与结构同步的示例分析
    这篇文章主要介绍了Navicat中数据备份与结构同步的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。摘要当我们要对数据库做有风险的操...
    99+
    2022-10-18
  • python中不同的CSV功能和使用示例分析
    这篇文章给大家分享的是有关python中不同的CSV功能和使用示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大...
    99+
    2023-06-14
  • JS中函数参数传递与同名参数的示例分析
    这篇文章主要为大家展示了“JS中函数参数传递与同名参数的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS中函数参数传递与同名参数的示例分析”这篇文章吧...
    99+
    2022-10-19
  • Linux中可重入函数与不可重入函数的示例分析
    这篇文章主要为大家展示了“Linux中可重入函数与不可重入函数的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中可重入函数与不可重入函数的示例分析”这篇文章吧。Linux 中可...
    99+
    2023-06-09
  • ES6中Set和Map数据结构的示例分析
    这篇文章主要介绍了ES6中Set和Map数据结构的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES6 的 Set:ES6 提供了新...
    99+
    2022-10-19
  • JavaScript中回调函数及区分下同步和异步回调的示例分析
    小编给大家分享一下JavaScript中回调函数及区分下同步和异步回调的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1...
    99+
    2022-10-19
  • linux中常用脚本和函数的示例分析
    这篇文章将为大家详细讲解有关linux中常用脚本和函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。#查找当前目录中是否存在指定目录,若不存在,则创建之代码如下:function mkdir_1...
    99+
    2023-06-09
  • angular指令中preLink和postLink函数的示例分析
    这篇文章将为大家详细讲解有关angular指令中preLink和postLink函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。指令模板选项有complie和link两个字段,两者之间存在如下...
    99+
    2023-06-15
  • jQuery中$.ajax()函数可以不带参数调用的示例分析
    这篇文章主要为大家展示了“jQuery中$.ajax()函数可以不带参数调用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery中$.ajax(...
    99+
    2022-10-19
  • ES6基础中字符串和函数的示例分析
    小编给大家分享一下ES6基础中字符串和函数的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!字符串的拓展1.ES6为字符串...
    99+
    2022-10-19
  • JavaScript中var和let函数作用域的示例分析
    这篇文章主要介绍JavaScript中var和let函数作用域的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!函数作用域在函数内声明变量时,使用 var 和 let 很相似。...
    99+
    2022-10-19
  • Redis中主从架构数据一致性同步原理的示例分析
    这篇文章将为大家详细讲解有关Redis中主从架构数据一致性同步原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。高可用有两个含义:一是数据尽量不丢失,二是服务尽...
    99+
    2022-10-18
  • MySQL中存储过程和存储函数的示例分析
    这篇文章主要为大家展示了“MySQL中存储过程和存储函数的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中存储过程和存储函数的示例分析”这篇文...
    99+
    2022-10-18
  • php中函数引用传递和返回的示例分析
    小编给大家分享一下php中函数引用传递和返回的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的引用(就是在变量或者函数、对象等前面加上&符号...
    99+
    2023-06-14
  • 基于Vue2.X中路由和钩子函数的示例分析
    小编给大家分享一下基于Vue2.X中路由和钩子函数的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!导航和钩子函数:导航:路由正在发生改变 关键字:路由 变钩子函数:在路由切换的不同...
    99+
    2022-10-19
  • JavaScript中函数参数使用对象而不是参数列表的示例分析
    这篇文章给大家分享的是有关JavaScript中函数参数使用对象而不是参数列表的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。函数参数使用对象而不是参数列表当我们使用参数列表给函数传递参数时,如果参数较少...
    99+
    2023-06-27
  • Java数据结构和算法之前缀、中缀和后缀表达式的示例分析
    小编给大家分享一下Java数据结构和算法之前缀、中缀和后缀表达式的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、人如何解析算术表达式如何解析算术表达式?或者换种说法,遇到某个算术表达式,我们是如何计算的:①、求...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作