Post

(PHP) 함수, 클래스, 객체, 상속, 트레이트

함수

  • 내부 함수를 사용할 수 있다.
  • 클로저나 콜백에 사용할 수 있는 익명함수를 정의할 수 있다.
  • 기본적으로 Call by value지만선언 시 &를 붙이면 Call by reference로 동작한다.

선언 시에만 & 를 붙이고, 호출 시에는 그냥 호출 한다. 함수나 메소드 앞에 &를 붙일 수 있다.

  • return [v1, v2] 배열을 만들면서 리턴할 수 있다.
  • Parameter를 정의할 때 Type을 적어주면, 받을 수 있는 Type을 제한할 수 있다. ( Type Hinting )

객체

기본적으로 자바와 흡사한데 trait가 추가되었다.

클래스 외부에서 클래스의 static, constant에 접근할 때, 클래스 내부에서 상속 계층 상의 프로퍼티나 메소드에 접근할 때는 ->가 아니라 ::를 사용한다.

접근제한 키워드

public, protected, private 키워드를 지정할 수 있다.

생성자, 소멸자
1
2
3
function \_\_construct( ) { ... }
function \_\_destruct( ) { ... }

상속

extends 단일상속만 허용한다. implements 인터페이스는 여러개를 받아 구현할 수 있다. final 오버라이드나 상속을 금지할 수 있다.

trait

2017/06/30 - [Coding/etc] - 상속, 인터페이스, 트레이트

오버라이드 우선순위는 클래스 메소드 > 트레이트 메소드 > 상속한 메소드 순이다.

1
2
3
4
5
6
7
8
9
10
trait UserTrait{
public function userTraitMethod(){
...
}
}
class UserClass{
use UserTrait, ...;
...
}

This post is licensed under CC BY 4.0 by the author.