鍍金池/ 問答/PHP/ PHP 鏈?zhǔn)讲僮鲀?yōu)雅的寫法?

PHP 鏈?zhǔn)讲僮鲀?yōu)雅的寫法?

在 PHP 中使用鏈?zhǔn)讲僮饔袃?yōu)雅一點(diǎn)的寫法嗎?
如果一個鏈?zhǔn)讲僮鞅容^復(fù)雜,需要寫很長一行,什么時候換行?

不換行:

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;
}

數(shù)組換行:

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;
}

我現(xiàn)在用的換行:

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;
}

亦或者這種,和第一個換行的地方箭頭保持一致(又時候?qū)Σ积R):

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;
}

處女座表示代碼風(fēng)格很重要。各位是怎么寫的呢?

回答
編輯回答
悶油瓶

這樣?

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;
    
}

基本是照jQ的鏈?zhǔn)侥敲磳懙?。不過我一般都是用編輯器的格式化插件自動對齊(VSCode+phpfmt+php runtime)……無所謂優(yōu)雅,見仁見智吧。

2018年1月29日 20:32
編輯回答
淚染裳

這種箭頭和方法對齊得做法怎樣?

$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();
2017年3月21日 18:04