(PHP) 함수, 클래스, 객체, 상속, 트레이트
함수
- 내부 함수를 사용할 수 있다.
- 클로저나 콜백에 사용할 수 있는 익명함수를 정의할 수 있다.
- 기본적으로 Call by value지만 선언 시
&
를 붙이면 Call by reference로 동작한다.
선언 시에만 &
를 붙이고, 호출 시에는 그냥 호출 한다. 함수나 메소드 앞에 &
를 붙일 수 있다.
return [v1, v2]
배열을 만들면서 리턴할 수 있다.- Parameter를 정의할 때 Type을 적어주면, 받을 수 있는 Type을 제한할 수 있다. ( Type Hinting )
객체
기본적으로 자바와 흡사한데 trait
가 추가되었다.
클래스 외부에서 클래스의 static, constant
에 접근할 때, 클래스 내부에서 상속 계층 상의 프로퍼티나 메소드에 접근할 때는 ->
가 아니라 ::
를 사용한다.
접근제한 키워드
public, protected, private
키워드를 지정할 수 있다.
생성자, 소멸자
1
2
function \_\_construct( ) { ... }
function \_\_destruct( ) { ... }
상속
extends
단일상속만 허용한다. implements
인터페이스는 여러개를 받아 구현할 수 있다. final
오버라이드나 상속을 금지할 수 있다.
trait
오버라이드 우선순위는 클래스 메소드 > 트레이트 메소드 > 상속한 메소드
순이다.
1
2
3
4
5
6
7
8
9
trait UserTrait{
public function userTraitMethod(){
...
}
}
class UserClass{
use UserTrait, ...;
...
}
This post is licensed under CC BY 4.0 by the author.