최근에는 PHP로 객체 지향 프로그래밍프로그래밍을 배우고 있습니다. 객체 지향 사고가 복잡한 문제를 해결하는 데 정말 큰 역할을 한다고 생각합니다. 그렇지 않았다면 스타크래프트 게임이 얼마나 복잡했을지 상상할 수 없습니다. 개발할 때 객체 지향적 사고를 사용하십시오. 객체 지향적 사고는 실제로 컴퓨터 프로그래밍 방법의 역사에서 중요한 진전입니다.
오늘은 제가 만든 클래스 메소드에 다른 클래스 메소드를 콜백 함수로 호출하고 싶었는데, 콜백 함수 대신 다른 클래스 메소드 이름을 직접 쓰고 싶었는데 계속 오류가 뜹니다. "매개변수가 유효하지 않습니다." 라는 메시지를 보고 SELF 키워드를 사용해볼까 고민을 해보았으나 여전히 이런 오류가 발생했습니다. 정말 어떻게 해야할지 모르겠습니다. 중국어 매뉴얼을 확인했지만 해결책을 찾을 수 없었습니다. 그러다가 PHP 공식 웹사이트의 매뉴얼을 주의 깊게 살펴보았습니다. 이 매뉴얼에는 이 문제를 해결하기 위한 구문이 있습니다.
class utils{ public function array_or( $input ) { return array_reduce( $input, array('Utils','sum' ), 0 ); } public function sum( $v, $w ) { return $v += $w; } } $uti = new utils; $a = array(1,2,3,4,5); echo $uti->array_or($a);
왜 다른 클래스 메소드를 array 형태로 호출하는지 정말 이상하네요. SELF 키워드를 사용하는 것이 더 적절한 것 같습니다. 이 문법을 디자인할 때 어떤 고려 사항이 있는지 정말 모르겠습니다. . 그런데 이렇게 디자인을 한 데에는 이유가 있을 거라 생각하는데 아직까지는 그 이유를 깨닫지 못했습니다.
위 내용은 PHP 클래스에서 콜백 함수 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!