php – 在类__construct()中间返回是否可以接受
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 在类__construct()中间返回是否可以接受,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1235字,纯文字阅读大概需要2分钟。
内容图文
![php – 在类__construct()中间返回是否可以接受](/upload/InfoBanner/zyjiaocheng/722/dc2f2ec8278d44b2a6d3fb4398c5d0e0.jpg)
我知道有很多问题与此有关.但是,我没有设法找到简单问题的答案(我不是要求从构造函数返回值,我认为我理解构造函数应该返回).
有没有理由避免在__construct中使用return?
或者这是完全可以接受的编码风格,由于返回,将来不会破坏:
class A {
protected $tristate = null;
function __construct() {
// Constructor returns instance of class automatically
// no need to `return $this`
}
protected function Logic() {
return rand(0, 1) === 1;
}
}
class B extends A {
function __construct() {
parent::__construct();
if ($this->Logic()) return;
$this->tristate = true;
}
}
上面的一个是经过测试的,它按预期工作(在我的开发环境中),它将父$tristate var 50/50设置为NULL / TRUE,但是它将来会工作,并且当在构造函数的中间返回时会出现任何问题无效回归.
我想到的另一件事是我应该使用return $this而不是普通返回的普通返回但是PHP似乎无论如何返回实例,回答可能是返回$this和普通返回同样好.
解决方法:
从doc起
Constructor
void __construct ([ mixed $args [, $… ]] )
void as a return type means that the return value is useless.
所以你可以归还任何东西……但它没用.在您的情况下,返回适用于退出函数执行:它只是允许.
另一个问题是,这是一个好的或坏的做法……
我觉得简单回归;保存一些IF语句和恼人的缩进是一个很好的做法.
带有值的返回(即返回false;),如果它没用,则是一种不好的做法,因为没有意义.
内容总结
以上是互联网集市为您收集整理的php – 在类__construct()中间返回是否可以接受全部内容,希望文章能够帮你解决php – 在类__construct()中间返回是否可以接受所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。