2011-04-10 7 views
1

나는 고객 목록 또는 단일 고객을 만드는 데 사용하는 클래스가 있습니다. 지금값이 있거나없는 클래스의 인스턴스를 만드는 방법

public function __construct($customer_id) 

:

난 그저 내가 생성자를 생성 한 고객을 반환하는 개인 CUSTOMER_ID을하기로 결정 그리고

customer->setCustomerList() 

메소드 호출 후 새로운 고객을 (호출)되었다 new Customer() 호출에 customer_id가 누락 되었기 때문에 내 setCustomerList 호출에서 오류가 발생합니다 ...

이제이 오류가 발생합니다 :

Warning: Missing argument 1 for Suppliers::__construct()

나는 그것이 작동 값을 전달하면 내가 알고하지만 내 질문이 아니다 - 내 문제는 내가 어떻게 클래스가 CUSTOMER_ID없이 인스턴스를 만들 수 있습니까? 빈 인스턴스 만 custoemr_id가있는 인스턴스를 생성하기 위해 생성자를 남겨 두는 중입니까? 매개 변수는 선택 사항입니다, 그래서

답변

4

기본 값으로, 생성자의 선언을 수정

public function __construct($customer_id = null) 

를 그런 다음 생성자 내부 :

  • $customer_id !== null 경우,이 매개 변수를 사용하여, 값으로 통과되었습니다.
  • 다른 경우 매개 변수로 전달되지 않았으므로 사용하지 마십시오.


매뉴얼의 관련 섹션 : 없음이 전달되지 않을 때 Default argument values

1

public function __construct($customer_id = NULL)

기본값을 제공합니다.

관련 문제