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;
case 'case2':
return; // Can I do this?
break;
}
...Other code to execute if args2 wasn't 'case2'...
}
}
感谢所有会回答的人。
编辑
对于任何可能觉得这个问题很奇怪的人:在某些语言中,构造函数应该返回特定的值才能真正创建一个类,这就是我要问的原因。
解决方案
__construct
只是由普通函数调用调用的普通函数,是的,您可以随时return
从该函数调用任何其他函数。请注意,您的任何值都将被忽略,但这显然无关紧要。return
__construct
出于这个原因(这__construct
不会返回任何东西),出于可读性原因,我会避免过早退出,但没有技术原因。对于构造函数,我更喜欢if-this-do-that模式而不是if-this-stop-prematurely模式。
推荐阅读
- python - 按顺序编写 сsv outout
- flutter - 我在执行下面的代码时报告了以下错误
- scala - 如何在应用层配置 Flink 作业的参数?
- anylogic - 时间图不更新
- permissions - 需要帮助以在 google drive api 中实现查询权限
- react-native - React-native 为什么菜单不呈现
- python-3.x - 我将 type () 函数的结果存储在变量中,打印变量时出现错误
- redhat - 带有外部 DNS 的 FreeIPA - dnssec 支持
- php - Laravel 中 [Route: X.update] 缺少必需的参数
- apache-flink - Flink 表的状态后端