상속 미준수

원본소스 class 혹은 원본 소스의 부모 메서드 등 상속을 받아서 개발해야하나, 상속받지 아니하고 개발함으로써 발생한 사례 예시입니다.

1. class와 method 미상속

고도몰's 개발자 코멘트

method의 경우 상속받은 형태로 구현이 불가한 상황이 있을 수 있습니다. 때문에 가능한 해당 method 상속이 가능한 상황으로 구현하시는 것이 좋습니다.

⛔️ As-Is

namespace Component\Excel;

class ExcelRequest extends \Bundle\Component\Excel\ExcelRequest
{
    public function saveInfoExcelRequest($arrData)
    {
        # write your code
    }
}

✅ To-be

namespace Component\Excel;

class ExcelRequest extends \Bundle\Component\Excel\ExcelRequest
{
    public function saveInfoExcelRequest($arrData)
    {
        parent::saveInfoExcelRequest($arrData);
        
        # write your code
    }
}

2. systemcontroller튜닝 시 class 미상속

고도몰's 개발자 코멘트

하기 예시의 경우 class와 method의 상속을 받지 않고 구현된 내용입니다. 반드시 \Bundle\Controller\Admin\Goods\GoodsListController 를 사용해서 시스템의 GoodsListController를 상속받아야 하며, method 내에서는 parent::index(); 를 사용해서 시스템의 index()를 상속받아야 합니다.

⛔️ As-Is

namespace Controller\Admin\Goods;

/**
 * 상품 리스트 페이지
 */
class GoodsListController
{
    # write your code
}

✅ To-be

namespace Controller\Admin\Goods;

/**
 * 상품 리스트 페이지
 */
class GoodsListController extends \Bundle\Controller\Admin\Goods\GoodsListController
{
    parent::index();
    
    # write your code
}

Last updated