美文网首页
PHP代码优化

PHP代码优化

作者: 邱皮皮 | 来源:发表于2020-02-17 20: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 ,这样就算有方法抛出异常,也不影响后面方法执行。

    相关文章

      网友评论

          本文标题:PHP代码优化

          本文链接:https://www.haomeiwen.com/subject/ysuifhtx.html