在PHP中,类名与方法名可以相同,如果方法名和类名相同,且没有“__construct”,那么该方法会被当做构造函数。php构造函数是类中的一个特殊函数,当使用new操作符创建一个类的实例时,构造函数将会自动调用。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
构造函数
__construct ( mixed ...$values = "" ) : void
登录后复制
PHP 允许开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。
注意: 如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。
立即学习“PHP免费学习笔记(深入)”;
示例 #1 继承中的构造函数
登录后复制
与其它方法不同,当 __construct() 被与父类 __construct() 具有不同参数的方法覆盖时,PHP 不会产生一个 E_STRICT 错误信息。
自 PHP 5.3.3 起,在命名空间中,与类名同名的方法不再作为构造函数。不使用命名空间中的类则不受影响。 构造函数是一个普通的方法,在对应对象实例化时自动被调用。 因此可以定义任何数量的参数,可以是必选、可以有类型、可以有默认值。 构造器的参数放在类名后的括号里调用。
示例 #2 使用构造器参数
x = $x; $this->y = $y; }}// 两个参数都传入$p1 = new Point(4, 5);// 仅传入必填的参数。 $y 会默认取值 0。$p2 = new Point(4);// 使用命名参数(PHP 8.0 起):$p3 = new Point(y: 5, x: 4);?>
登录后复制
如果一个类没有构造函数,以及构造函数的参数不是必填项时,括号就可以省略。
推荐学习:《PHP视频教程》
以上就是PHP中与类名相同的方法是什么的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2512788.html