PHP方法名与类名相同时实例化类会触发该方法

当PHP类的方法名与类名相同(不区分大小写)且未定义构造函数时,实例化类会将该方法当作构造函数执行。此行为可能导致意外的结果,如在示例中展示了`a()`方法被两次调用。开发者应当注意避免此类命名冲突,确保代码的清晰性和可预测性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP中方法名与类名相同时(忽略大小写),且没有定义构造函数,那么在类实例化时,会把该方法当做构造函数执行,使用时需注意。

<?php

class A {

	public function a() 
	{
		echo 'i am a';
	}
}

$a = new A();
echo $a->a();

执行结果:

i am ai am a

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值