账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PHP 链式操作优雅的写法?
    41
    0

    在 PHP 中使用链式操作有优雅一点的写法吗?
    如果一个链式操作比较复杂,需要写很长一行,什么时候换行?

    不换行:

    function test(){
    
        $res = $this->erp_base->select([ 'company_id AS city_id', 'city_name AS city_name', 'UNIX_TIMESTAMP() AS create_time', 'UNIX_TIMESTAMP() AS update_time' ]) ->where([ 'if_deleted =' => 0 ])->where_not_in('company_id', $this->_blacklist)->get('company')->result_array();
        
        return $res;
    }

    数组换行:

    function test(){
    
        $res = $this->erp_base->select([
                'company_id AS city_id',
                'city_name AS city_name',
                'UNIX_TIMESTAMP() AS create_time',
                'UNIX_TIMESTAMP() AS update_time'
            ]) ->where([
                'if_deleted =' => 0
            ])->where_not_in('company_id', $this->_blacklist)->get('company')->result_array();
        
        return $res;
    }
    

    我现在用的换行:

    function test(){
    
        $res = $this->erp_base
            ->select([
                'company_id AS city_id',
                'city_name AS city_name',
                'UNIX_TIMESTAMP() AS create_time',
                'UNIX_TIMESTAMP() AS update_time'
            ])->where([
                'if_deleted =' => 0
            ])->where_not_in('company_id', $this->_blacklist)
            ->get('company')
            ->result_array();
        
        return $res;
    }

    或者这种:

    function test(){
    
        $res = $this->erp_base
        ->select([
            'company_id AS city_id',
            'city_name AS city_name',
            'UNIX_TIMESTAMP() AS create_time',
            'UNIX_TIMESTAMP() AS update_time'
        ])->where([
            'if_deleted =' => 0
        ])->where_not_in('company_id', $this->_blacklist)
        ->get('company')
        ->result_array();
        
        return $res;
    }

    亦或者这种,和第一个换行的地方箭头保持一致(又时候对不齐):

    function test(){
    
        $res = $this->erp_base
                    ->select([
                        'company_id AS city_id',
                        'city_name AS city_name',
                        'UNIX_TIMESTAMP() AS create_time',
                        'UNIX_TIMESTAMP() AS update_time'
                    ])->where([
                        'if_deleted =' => 0
                    ])->where_not_in('company_id', $this->_blacklist)
                    ->get('company')
                    ->result_array();
                    
        return $res;
    }

    处女座表示代码风格很重要。各位是怎么写的呢?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 猫与蔷薇 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部