我正处于迁移到 100% OO php 的阶段,我最终遇到了很多这样的问题。因此,如果您觉得它很愚蠢,请原谅,我只是想在一开始就使我的 OO 编程实践良好,以便以后不必修复它们。
这样做可以吗?
private function _some_funct($args) {
// Some code here....
if ($something) return;
//Rest of code
}
基本上,这里有2个问题。
在它之后使用没有值的return可以吗?我经常使用它并且没有遇到任何缺点,但从未在其他人的代码中看到它。我只看到return false。
通常以这种方式停止功能是否可以,或者我应该重新考虑我的程序结构?
使用它的例子是我正在制作的 CMS。
public function _init_engines() {
$this->_session_engine = $this->_dep['SessionEngine'];
$this->_login_engine = $this->_dep['LoginEngine'];
if ($this->_dep['User'] == false) return;
$this->_security_engine = $this->_dep['SecurityEngine'];
//Other engines go here.......
}
所以我让系统启动会话并设置会话变量,然后检查用户是否已登录。如果用户未登录,LoginEngine 会处理并加载“登录”模块。加载登录模块后,我不希望实例化其他引擎,因为它们不需要。我本可以使用die或exit但这会阻止整个脚本执行。像这样,我的脚本完成执行,其他不是引擎的东西,比如基准测试和其他一些东西仍然被执行,这正是我想要的。同样,我应该在这里重新考虑我的逻辑还是您认为这种方式可以?