Skip to content

PHP

method chaining

Author
siwon
Date
2023-09-25 18:42
Views
1420

PHP에서의 메서드 체이닝은 하나의 객체에 대해 여러 메서드를 한 줄에 연속적으로 호출할 수 있게 해주는 기능입니다. 이를 통해 코드를 간결하고 가독성 있게 작성할 수 있습니다. 메서드 체이닝을 사용하려면 각 메서드에서 클래스의 객체 자체(클래스의 인스턴스)를 반환해야 합니다.


다음은 PHP에서 메서드 체이닝을 사용하는 예제입니다:


```php

class MyClass {
    private $value;
    public function setValue($value) {
        $this->value = $value;
        return $this; // 객체 자체를 반환합니다.
    }
    public function add($number) {
        $this->value += $number;
        return $this; // 객체 자체를 반환합니다.
    }
    public function multiply($number) {
        $this->value *= $number;
        return $this; // 객체 자체를 반환합니다.
    }
    public function getValue() {
        return $this->value;
    }
}
// 사용 예제
$obj = new MyClass();
$result = $obj->setValue(10)->add(5)->multiply(2)->getValue();
echo $result; // 결과 출력: 30

```


이 예제에서:


1. `MyClass` 클래스를 정의하고 `$value`라는 private 속성을 수정하는 메서드를 만듭니다.

2. 이러한 메서드는 각각 `$this`를 반환하며, 이는 현재 클래스의 인스턴스를 나타냅니다.

3. 메서드 체이닝을 사용하면 (`$obj->setValue(10)->add(5)->multiply(2)`) 각 메서드가 동일한 객체 인스턴스에서 호출되므로 이들을 연결하여 사용할 수 있습니다.

4. 마지막으로 `getValue()`를 호출하여 수정된 값을 검색합니다.

이것은 PHP에서 메서드 체이닝의 기본적인 예제이며, 라이브러리와 프레임워크에서 객체와 상호 작용하고 코드 한 줄로 일련의 작업을 수행하는 데 사용되는 풍부하고 표현력 있는 API를 제공하는 데 자주 사용됩니다.

Total 0

Total 45
Number Title Author Date Votes Views
40
php formatter
siwon | 2024.11.26 | Votes -1 | Views 1320
siwon 2024.11.26 -1 1320
39
html center 중앙정렬 tailwind
siwon | 2024.07.27 | Votes 0 | Views 1640
siwon 2024.07.27 0 1640
38
dropdown menu alpinejs 사용 버전
siwon | 2024.04.30 | Votes 0 | Views 1565
siwon 2024.04.30 0 1565
37
dropdown menu 간단 버전
siwon | 2024.04.30 | Votes 0 | Views 1524
siwon 2024.04.30 0 1524
36
The Standard PHP Library (SPL) is a collection of classes and interfaces that provide core functionality to PHP developers.
siwon | 2023.10.24 | Votes 0 | Views 2201
siwon 2023.10.24 0 2201
35
session 과 쿠키
siwon | 2023.10.24 | Votes 0 | Views 1461
siwon 2023.10.24 0 1461
34
Late Static Binding (LSB):메서드 내부에서 현재 클래스의 정적 메서드 또는 프로퍼티를 호출할 때 사용
siwon | 2023.10.24 | Votes 0 | Views 1285
siwon 2023.10.24 0 1285
33
PHP 예외 처리(Exception Handling)
siwon | 2023.10.10 | Votes 0 | Views 1606
siwon 2023.10.10 0 1606
32
php exception
siwon | 2023.10.10 | Votes 0 | Views 1802
siwon 2023.10.10 0 1802
31
예외(Exception)를 처리하기 위해 try...catch 블록을 사용하는 방법
siwon | 2023.10.10 | Votes 0 | Views 1340
siwon 2023.10.10 0 1340
30
Preserving Parent Class Functionality in overriding
siwon | 2023.09.26 | Votes 0 | Views 1173
siwon 2023.09.26 0 1173
29
oop 세부항목
siwon | 2023.09.26 | Votes 0 | Views 1190
siwon 2023.09.26 0 1190
28
method chaining
siwon | 2023.09.25 | Votes 0 | Views 1420
siwon 2023.09.25 0 1420
27
interface implements
siwon | 2023.09.19 | Votes 0 | Views 1242
siwon 2023.09.19 0 1242
Re:interface implements
siwon | 2023.10.24 | Votes 0 | Views 1050
siwon 2023.10.24 0 1050
26
abstract class : 부모 class로 사용되며 자식(extends 한)에게 abstract method를 강제함(그들만의 방식으로)
siwon | 2023.09.19 | Votes 0 | Views 1136
siwon 2023.09.19 0 1136
25
isset() / unset()
siwon | 2023.09.18 | Votes 0 | Views 1315
siwon 2023.09.18 0 1315
24
magic methods-어떤 상황이 되면 call 하지 않아도 자동으로 실행되는 메소드
siwon | 2023.09.18 | Votes 0 | Views 1321
siwon 2023.09.18 0 1321
23
MD(markdown) file
siwon | 2023.09.12 | Votes 0 | Views 1240
siwon 2023.09.12 0 1240
22
usort
siwon | 2023.08.30 | Votes 0 | Views 1277
siwon 2023.08.30 0 1277
21
closure=unanimous function
siwon | 2023.08.30 | Votes 0 | Views 1305
siwon 2023.08.30 0 1305
php 7.4에서 추가 화살표 함수 fn()=>
siwon | 2023.10.24 | Votes 0 | Views 3971
siwon 2023.10.24 0 3971
20
reference variable &
siwon | 2023.08.29 | Votes 0 | Views 1297
siwon 2023.08.29 0 1297
참조(reference)한 original variable의 값을 바꿔버리기 때문에 조심해서 써야함
siwon | 2023.08.30 | Votes 0 | Views 1227
siwon 2023.08.30 0 1227
19
PHP 변수 : 스칼라(Scalar), 복합(Composite), 그리고 리소스(Resource)
siwon | 2023.08.22 | Votes 0 | Views 1376
siwon 2023.08.22 0 1376
18
if : vs {}
siwon | 2023.08.22 | Votes 0 | Views 1120
siwon 2023.08.22 0 1120
17
null coalescing operator
siwon | 2023.08.18 | Votes 0 | Views 1468
siwon 2023.08.18 0 1468
16
arrary functions
siwon | 2023.08.18 | Votes 0 | Views 1281
siwon 2023.08.18 0 1281