首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
metadata
cSharp
hook
list
version
regex
chat
substring
javascript
filter
php8
lua
java
typescript
case
iostream
hashset
uml
ascii
actionscrip
nodejs
foreach
ip
controller
config
usb
cmd
char
cPlusPlus
netty
command
hash
hashtable
plugins
php
fetch
vbscript
audio
vba
heatmap
frameworks
node.js
copy
merge
split
export
settings
byte
search
utf-8
jsp
dockerfile
function
web
数组
bit
dll
hashcode
expression
python2
input
require
less
include
php7
triggers
cookie
subset
range
get
emoji
schema
httpclient
shell
rsa
python3
install
web3
golang
当前位置:
开发笔记
>
编程语言
> 正文
ThinkPHP中initialize和construct的不同
作者:手机用户2502938443 | 来源:互联网 | 2013-06-07 14:49
ThinkPHP中initialize()和construct()这两个函数都可以理解为构造函数,前面一个是tp框架独有的,后面的是php构造函数,那么这两个有什么不同呢?
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的不同。
本文小谈博客原创,转载请注明出处!
作者:小谈博客
网址:http://tanteng.sinaapp.com/2013/04/thinkphp-initialize-construct/
php
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
php
李贺《奉和二兄罢使遣马归延州》译文及赏析
本文对唐代诗人李贺的《奉和二兄罢使遣马归延州》进行了详细的翻译与赏析,深入解析了诗中的情感表达与艺术特色。 ...
[详细]
蜡笔小新 2024-12-04 21:21:19
char
基于函数实现的进制转换工具
本文介绍了一种利用函数实现不同进制数(二进制、八进制、十进制)之间转换的方法。包括了程序的运行效果展示、所使用的主要函数解析、以及如何验证用户输入的合法性。整个项目仅使用了两个全局变量来存储用户的选项和输入的数值。 ...
[详细]
蜡笔小新 2024-12-04 21:03:53
ip
CSGO
CSGOTimeLimit:40002000MS(JavaOthers)MemoryLimit:524288524288K(JavaOthers)ProblemDescriptio ...
[详细]
蜡笔小新 2024-12-04 19:06:23
java
Android开发技巧:如何在代码中获取attrs.xml中定义的枚举值
本文介绍了如何通过自定义View中的declare-styleable属性创建枚举类型,并在代码中访问这些枚举值的方法。 ...
[详细]
蜡笔小新 2024-12-04 19:03:16
java
利用C#中的多种HTTP客户端上传文件至Web API
本文汇集了使用C#中不同HTTP客户端向Web API上传文件的实例,旨在为开发者提供实用的技术指南。 ...
[详细]
蜡笔小新 2024-12-04 18:57:41
version
2023年PHP创建文件与函数全局调用指南
本文详细介绍了在PHP中如何创建新文件以及如何使自定义函数在整个项目中全局可用的方法,包括最新的实践技巧。 ...
[详细]
蜡笔小新 2024-12-04 18:48:49
java
解决Android开发中的TextView难题
探讨了在Android开发过程中遇到的关于TextView组件的常见问题,特别是如何实现多行文字的跑马灯效果,并提供了初步的解决方案和参考资料。 ...
[详细]
蜡笔小新 2024-12-04 18:32:09
java
Only2 Labs — 视觉设计工作室
Only2 Labs 是一家专注于视觉设计的工作室,如果您对当前的设计感到不满,或者急需寻找一个可靠的设计合作伙伴,甚至是您的团队项目需要专业指导,Only2 Labs 都将竭诚为您提供帮助。 ...
[详细]
蜡笔小新 2024-12-04 18:17:44
java
解决phpMyAdmin运行错误:mysqli_init(): 属性访问尚未允许
本文探讨了在使用phpMyAdmin过程中遇到的mysqli_init()函数错误,并提供了有效的解决方案。 ...
[详细]
蜡笔小新 2024-12-04 17:35:56
java
WPF与MSBuild的集成
本文探讨了Windows Presentation Foundation (WPF)如何通过扩展Microsoft Build Engine (MSBuild)来增强其构建能力,特别是在处理WPF特有的任务时。 ...
[详细]
蜡笔小新 2024-12-04 17:26:08
char
SQL查询中字符集导致的结果差异探讨
本文探讨了在执行SQL查询时遇到的因字符集不同而导致查询结果差异的问题,特别是涉及中文字符时。文章分析了在不同字符集设置下,SQL查询结果的变化,并提供了详细的解决方案。 ...
[详细]
蜡笔小新 2024-12-04 16:39:13
ip
JavaScript与PHP交互:实现方式与技巧
本文探讨了如何在JavaScript中调用PHP函数及实现两者之间的有效交互,包括通过AJAX请求、动态生成JavaScript代码等方法。 ...
[详细]
蜡笔小新 2024-12-04 16:01:36
config
深入解析PHP Xdebug的安装与应用
本文详细介绍了PHP Xdebug的安装步骤及其在PHP开发中的重要作用。Xdebug作为一款强大的调试工具,不仅能够帮助开发者追踪代码执行过程,还能有效提升代码质量和系统性能。 ...
[详细]
蜡笔小新 2024-12-04 15:55:44
config
《泛水曲》唐诗赏析与翻译
本文对唐代诗人王建的《泛水曲》进行详细的赏析和翻译,探讨其文学价值及艺术特色。 ...
[详细]
蜡笔小新 2024-12-04 15:28:25
config
解析《深入理解计算机系统》中寄存器保存机制的疑问
探讨《深入理解计算机系统》一书中关于寄存器保存规则的理解难题,特别是调用者保存寄存器的使用与恢复机制。 ...
[详细]
蜡笔小新 2024-12-04 15:26:12
手机用户2502938443
这个家伙很懒,什么也没留下!
Tags | 热门标签
metadata
cSharp
hook
list
version
regex
chat
substring
javascript
filter
php8
lua
java
typescript
case
iostream
hashset
uml
ascii
actionscrip
nodejs
foreach
ip
controller
config
usb
cmd
char
cPlusPlus
netty
RankList | 热门文章
1
使用FFMpeg转码(精华)
2
第三方开发工具——PyCharm(安装、使用、汉化)超详细,图片太多,脚注太多(Windows操作系统)
3
Java学习日志(241网络编程自定义服务端与客户端)
4
mixpanel umeng talkingdata
5
一步一步学EF系列【4、升级篇 实体与数据库的映射】
6
准备工作_MySQL协议学习:准备工作
7
虚拟主机带宽1M够不够用
8
Maven 无法打包jar到 Tomcat
9
QT创建多个子工程和子模块
10
python 英文关键词提取_如何提取文章的关键词(Python版)
11
PM的自我修养——豌豆荚的Android客户端简要分析
12
CSS浮动和定位属性介绍
13
jsp监听器实现在线人数统计
14
命令行方式删除文件 文件夹
15
java项目采购执行管理,项目采购管理作业
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有