若转载教程,请注明出自SW-X框架官方文档

禁用习惯

实际开发中,很多PHPer习惯使用exitdie语句代替return语句中断代码往下继续。

这种编程习惯是非常恶劣与危险的。

例如下列代码:

Demo {
    public function A() {
        die('1');
    }
    public function B() {
        echo '1';exit;
    }
    public function C() {
        die('1');
    }
    // 假设我是入口方法
    public function run() {
        $a = $this->A();
        $b = $this->B();
        $c = $this->C();
    }
}
$obj = new Demo();
$obj->run();

运行后,我们只会输出得到一个1,而我们想得知是ABC3个方法哪1个输出的,根本做不到,在run中对ABC方法使用var_dump();也获取不到返回值。这样调试会变得非常困难。

正常应该改成以下逻辑。

Demo {
    public function A() {
        return '1';
    }
    public function B() {
        return '1';
    }
    public function C() {
        return '1';
    }
    // 假设我是入口方法
    public function run() {
        $a = $this->A();
        if ($a != '1') {
            return 'Ano';
        }
        $b = $this->B();
        if ($b != '1') {
            return 'Bno';
        }
        $c = $this->C();
        if ($c != '1') {
            return 'Cno';
        }
        return '1';
    }
}
$obj = new Demo();
echo $obj->run();

免费教程手写不易,希望能支持一下SW-X框架,(^.^)

GitHub有账号的朋友,也可以给我们一个小星星噢!

希望能够与大家共同培育出良好的Swoole生态,对Swoole有兴趣的朋友可以加我微信好友,进入SW-X框架官方交流群。
该群以Swoole生态发展交流为主,若出现争吵,攻击其他人等行为,立即剔除。