代码优化

优化前

class Parse
{
    public function run()
    {
        $this->func1($data);
        $this->func2($data);
        ...
    }

    public function func1()
    {

    }

    public function func2()
    {

    }
}

优化后

# Support.php
trait Support
{
    public $kernel = [];

    /**
     * 处理器
     */
    public function processor()
    {
        foreach ($this->kernel as $func) {
            try {
                method_exists($this, $func) && call_user_func_array([$this, $func], func_get_args());
            } catch (Exception $e) {
                app('log')->error($e);
                continue;
            }
        }
    }
}

# Parse.php
class Parse
{
    use Support;

    public $kernel = [
        'func1',
        'func2',
    ];

    public function run()
    {
        $this->processor($data);
    }

    public function func1()
    {
        //todo...
    }

    public function func2()
    {
        //todo...
    }
}

优点

  1. run 方法就变得很简洁,不用写一堆方法调用。
  2. 方法调用统一 catch ,这样就算有方法抛出异常,也不影响后面方法执行。
本作品采用《CC 协议》,转载必须注明作者和本文链接
如果你不能把一件事很简单的讲清楚,那么你就是还不够了解。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!