PHP 5 시용(2)

추상 류 추상 류 는 실례 화 되 어 서 는 안 된다.추상 클래스 는 다른 클래스 와 마찬가지 로 변수 와 방법 을 정의 할 수 있 습 니 다.추상 류 역시 추상 적 인 방법 을 정의 할 수 있다.추상 적 인 방법 은 실행 되 지 않 지만 파생 류 에서 실 행 될 수 있다.예 6:추상 류x = $x; } } class foo2 extends foo { function display() { // Code } } ?> __call PHP 5 대상 에 게 전용 방법 이 추가 되 었 습 니 다call(),이 방법 은 한 대상 의 다른 방법 을 감시 하 는 데 사 용 됩 니 다.대상 에 존재 하지 않 는 방법 을 사용 해 본다 면,콜 방법 은 자동 으로 호출 됩 니 다.예 7:call doStuff(); $x->fancy_stuff(); ?> 이 특수 한 방법 은'과부하(overloading)'동작 을 실현 하 는 데 사 용 될 수 있 습 니 다.그러면 인 자 를 검사 하고 개인 적 인 방법 으로 인 자 를 전달 할 수 있 습 니 다.예 8:사용call"과부하"동작 구현foo_for_int($arguments[0]); if(is_string($arguments[0])) $this->foo_for_string($arguments[0]); } } private function foo_for_int($x) { print("oh an int!"); } private function foo_for_string($x) { print("oh a string!"); } } $x = new Magic(); $x->foo(3); $x->foo("3"); ?> __set 와get 좋 은 방법 이 야.set 와get 방법 은 대상 에 존재 하지 않 는 변수 와 방법 을 캡 처 할 수 있 습 니 다.예 9:set 와get bar = 3; print($x->winky_winky); ?> 형식 지 시 는 PHP 5 에서 대상 의 방법 에서 그 매개 변 수 를 다른 대상 의 인 스 턴 스 로 표시 할 수 있 습 니 다.예 10:유형 지시process_a_foo($f); ?> 이 를 통 해 알 수 있 듯 이 우 리 는 매개 변수 앞에서 대상 의 이름 을 명시 할 수 있 고 PHP 5 는 이 매개 변수 가 하나의 대상 인 스 턴 스 가 될 것 임 을 식별 할 수 있다.정적 구성원 정적 구성원 과 정적 방법 은 이미지 대상 프로 그래 밍 용어 에서'대상 방법(class methods)'과'대상 변수(class variables)'로 불 린 다.'대상 방법'은 대상 이 실례 화 되 기 전에 호출 을 허용 합 니 다.마찬가지 로'대상 변수'는 한 대상 이 실례 화 되 기 전에 독립 적 으로 제어 할 수 있다(한 대상 의 방법 으로 제어 할 필요 가 없다).예 11:대상 방법 과 대상 변수 이상 처리 이상 처 리 는 공 인 된 처리 프로그램의 오 류 를 처리 하 는 이상 적 인 방법 입 니 다.자바 와 C++에 모두 이런 개념 이 있 습 니 다.우 리 는 PHP 5 가 이미 이 방면 의 응용 에 가입 한 것 을 기 쁘 게 보 았 습 니 다."try"와"catch"를 사용 하여 프로그램의 오 류 를 제어 할 수 있 습 니 다.예 12:이상 처리divide(3,0); } catch (Exception $e) { echo $e->getMessage(); echo "n
n"; // Some catastrophic measure here } ?> 상례 에서 우 리 는'try'를 사용 하여 괄호 안의 문 구 를 실 행 했 습 니 다.오류 가 발생 했 을 때 코드 는 오 류 를'catch'자구 에 맡 겨 처리 합 니 다.'catch'자구 에서 오 류 를 특정한 대상 에 게 맡 겨 처리 해 야 합 니 다.이렇게 하면 코드 구 조 를 더욱 선명 하 게 보일 수 있 습 니 다.지금 우 리 는 모든 잘못된 정 보 를 한 대상 에 게 맡 길 수 있 기 때문이다.사용자 정의 오류 처 리 는 사용자 정의 오류 처리 코드 로 프로그램의 사 고 를 편리 하 게 제어 할 수 있 습 니 다.이상 클래스 에서 자신의 오류 제어 클래스 를 파생 시 켜 야 합 니 다.자신의 오류 제어 클래스 에서 구조 함수 와 getMessage 방법 이 필요 합 니 다.다음은 하나의 예 입 니 다.예 13:사용자 정의 오류 처리data = $data; } function getMessage() { return $this->data . " caused a weird exception!"; } } ?> 이제"throw new WeirdProblem($foo)"을 사용 하여 오류 핸들 을 던 질 수 있 습 니 다."try"코드 블록 에서 오류 가 발생 하면 PHP 5 는 자동 으로"catch"부분 에 오 류 를 맡 깁 니 다.이름 공간 이름 공간 은 클래스 의 그룹 이나 함수 그룹 에 유용 합 니 다.그것 은 관련 된 클래스 나 함 수 를 조합 하여 나중에 호출 하기 편리 하 게 할 수 있다.예 14:이름 공간 어떤 상황 에서 이름 공간 을 사용 해 야 하 는 지 주의 하 세 요.실제 운용 에 서 는 두 개 이상 의 이름 이 같은 대상 이 서로 다른 일 을 해 야 할 수도 있 습 니 다.그러면 그들 을 각각 다른 이름 공간 에 넣 을 수 있 습 니 다(단 인 터 페 이 스 는 같 아야 합 니 다).

좋은 웹페이지 즐겨찾기