"PHP trait"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 5개는 보이지 않습니다)
3번째 줄: 3번째 줄:
;PHP 트레이트
;PHP 트레이트
* Method 재사용을 위한 코드
* Method 재사용을 위한 코드
* 단일 상속의 제약을 줄이기 위함
* 단일 상속의 제약을 줄이기 위한 것이다.
* 클래스와 유사하지만 이것은 Method 기능 자체를 묶어 넣는데 목적이 있음
* 클래스와 유사하지만 이것은 Method 기능 자체를 묶어 넣는데 목적이 있다.
* PHP 5.4.0부터 지원
* PHP 5.4.0부터 지원한다.


==Hello World 예제==
==예제 1==
<source lang="php">
<syntaxhighlight lang='php' run>
<?php
trait Greeter {
  public function greet() {
    echo 'hello';
  }
}
 
class Foo {
  use Greeter;
}
 
$foo = new Foo();
$foo->greet();
</syntaxhighlight>
 
==예제 2==
<syntaxhighlight lang="php" run>
<?php
<?php
trait Hello {
trait Hello {
33번째 줄: 50번째 줄:
$o->sayWorld();
$o->sayWorld();
$o->sayExclamationMark();
$o->sayExclamationMark();
// Hello World!
</syntaxhighlight>
</source>


==같이 보기==
==같이 보기==
44번째 줄: 60번째 줄:
*http://php.net/manual/en/language.oop5.traits.php
*http://php.net/manual/en/language.oop5.traits.php


[[분류: PHP]]
[[분류: PHP OOP]]

2023년 11월 4일 (토) 18:05 기준 최신판

1 개요[ | ]

PHP trait
PHP 트레이트
  • Method 재사용을 위한 코드
  • 단일 상속의 제약을 줄이기 위한 것이다.
  • 클래스와 유사하지만 이것은 Method 기능 자체를 묶어 넣는데 목적이 있다.
  • PHP 5.4.0부터 지원한다.

2 예제 1[ | ]

<?php
trait Greeter {
  public function greet() {
    echo 'hello';
  }
}

class Foo {
  use Greeter;
}

$foo = new Foo();
$foo->greet();

3 예제 2[ | ]

<?php
trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}

trait World {
    public function sayWorld() {
        echo 'World';
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo '!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}