PHP代码优化

2020-02-17  本文已影响0人  邱皮皮

优化前

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

    public function func1()
    {

    }

    public function func2()
    {
        
    }
}

优化后

# Support.php
trait Support
{
    /**
     * 处理器
     * 该方法依赖 `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;

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

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

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

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

优点

  1. run 方法就变得很简洁,不用写一堆方法调用。
  2. 方法调用统一 catch ,这样就算有方法抛出异常,也不影响后面方法执行。
上一篇 下一篇

猜你喜欢

热点阅读