354 of 410 menu

__invoke 메서드

마법 메서드 __invoke는 클래스의 인스턴스를 함수처럼 호출할 수 있게 합니다. 객체가 함수처럼 호출되면 PHP는 자동으로 이 메서드를 호출합니다. 이 메서드는 일반 함수처럼 매개변수를 받고 값을 반환할 수 있습니다.

구문

class MyClass { public function __invoke(...$args) { // 구현 } }

예제

__invoke 메서드를 가진 클래스를 만들고 객체를 함수처럼 호출해 보겠습니다:

<?php class Greeter { public function __invoke($name) { return "Hello, $name!"; } } $greet = new Greeter(); echo $greet('John'); ?>

코드 실행 결과:

'Hello, John!'

예제

여러 매개변수와 함께 __invoke 사용하기:

<?php class Calculator { public function __invoke($a, $b) { return $a + $b; } } $calc = new Calculator(); echo $calc(5, 3); ?>

코드 실행 결과:

8

예제

is_callable를 사용하여 객체가 호출 가능한지 확인하기:

<?php class Test {} $obj1 = new Test(); $obj2 = new class { public function __invoke() {} }; var_dump(is_callable($obj1)); var_dump(is_callable($obj2)); ?>

코드 실행 결과:

false true

함께 보기

  • 클래스의 생성자인 메서드 __construct,
  • 객체를 문자열로 표현할 수 있게 하는 메서드 __toString,
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부