介面應該返回統一格式,不能以文字作為呼叫方的判斷依據的,要以狀態碼作為依據

王滔發表於2015-06-15

    /**
     *
     * 檢查手機號碼是否可用
     * @param $cellphone 手機號碼
     */
    public function checkPhone($cellphone) {
        $cellphone = trim($cellphone);
        if (InputCheck::CheckCellphone($cellphone) == false)
            throw new ApiException(4001023);
        $member = Member::findFirstByCellphone($cellphone);
        
        //todo by wangtao
        //這裡的返回方式沒有統一,可以註冊或不可以註冊都返回的一個文字,讓呼叫方很難判斷,一旦文字變化就會讓呼叫方程式碼變得很麻煩。
        //應該以狀態碼的形式統一起來返回,哪怕是true or false都要更好
        //提示資訊應該只能作為一個介面的輔助形式,不能作為呼叫方判斷依據的。
        //不知道現在有哪些應用已經在呼叫這個介面,如果要修改,新開一個介面來保證統一。如果確定沒有呼叫,可以刪除掉這個介面,避免影響後續接手人員,造成風格的不統一
        if (!empty($member)) {
            $this->response->render('手機號已經被註冊啦,換一個手機號碼吧!');//返回false會更好,有利於呼叫方的程式碼判斷
        } else {
            $this->response->render('手機號可以註冊');//成功應該要返回一個成功狀態碼,比如true
        }
    }

相關文章