Php 我可以提前退出(返回)类构造函数吗?
如果构造函数中的一个参数满足某个条件,我需要提前退出类构造函数,我可以像下面的例子那样使用return吗?或者有其他方法可以这样做Php 我可以提前退出(返回)类构造函数吗?,php,class,Php,Class,如果构造函数中的一个参数满足某个条件,我需要提前退出类构造函数,我可以像下面的例子那样使用return吗?或者有其他方法可以这样做 class Test { public function __construct( arg1, arg 2 ) { switch case( arg2 ) { case 'case1': ...do some settings for the code to follow... break; cas
class Test {
public function __construct( arg1, arg 2 ) {
switch case( arg2 ) {
case 'case1':
...do some settings for the code to follow...
break;
case 'case2':
return; // Can I do this?
break;
}
...Other code to execute if args2 wasn't 'case2'...
}
}
感谢所有愿意回答的人
编辑
对于那些觉得这个问题很奇怪的人来说:在某些语言中,构造函数应该返回特定的值才能真正创建一个类,这就是我提出这个问题的原因。
\u construct
只是一个由普通函数调用的普通函数,是的,您可以随时从该函数返回
,与使用任何其他函数一样。请注意,从\uuu construct
返回的任何值都将被忽略,但这显然与此无关
出于这个原因(即\u construct
不会返回任何内容),出于可读性原因,我不会过早退出,但没有技术上的理由。对于构造函数,我更喜欢if-this-do-that模式,而不是if-this-stop-thready模式。//我可以这样做吗?好运行测试时会得到什么结果?@Jibstroos显然,像我在示例中所做的那样使用return没有任何错误,我的意思是我没有得到任何错误(否则我会告诉你)。问题是,在类构造函数中,这是否是一个可接受的退出方法,因为我没有找到太多关于这方面的信息。确实是这样。写可读的代码,这是很好的。完美的,这就是我一直在寻找的。正如在编辑中所说的,我只是好奇PHP类构造函数中是否有特定的返回值要设置。