라이브러리

[PHP] EvWatcher::setCallback - 워처에 대한 새 콜백을 설정합니다.




EvWatcher::setCallback


EvWatcher::setCallback은 PHP의 EvWatcher 클래스의 메서드 중 하나입니다. 이 메서드는 이벤트 발생 시 호출할 콜백 함수를 설정합니다. EvWatcher는 이벤트 루프에 등록된 워커를 관리하는 클래스로, 이벤트 루프는 비동기 입출력 및 타이머를 처리하는 데 사용됩니다.

# 사용법


EvWatcher::setCallback 메서드는 두 개의 매개변수를 받습니다.

* `$callback`: 이벤트 발생 시 호출할 콜백 함수.
* `$arg`: 콜백 함수에 전달할 인수.

#hostingforum.kr
php

$watcher = new EvWatcher();

$watcher->setCallback($callback, $arg);



# 예제


아래 예제는 EvWatcher::setCallback 메서드를 사용하여 이벤트 발생 시 콜백 함수를 호출하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// 이벤트 루프 생성

$loop = new EvLoop();



// 콜백 함수

function callback($watcher, $what, $arg) {

    echo "Event $what occurred with argument $arg
";

}



// 워커 생성

$watcher = new EvWatcher($loop);

$watcher->setCallback('callback', 'test');



// 이벤트 루프 시작

$loop->run();



?>



# 예제 설명


이 예제에서는 `EvWatcher` 클래스의 인스턴스를 생성하고 `setCallback` 메서드를 사용하여 콜백 함수를 설정합니다. 콜백 함수는 이벤트 발생 시 호출되며, `$what` 매개변수에는 이벤트 종류 (`Ev::READ`, `Ev::WRITE`, `Ev::TIMEOUT`, `Ev::IO`, `Ev::ERROR`)가 전달되고, `$arg` 매개변수에는 이벤트 루프에서 전달한 인수가 전달됩니다.

이 예제에서는 이벤트 루프를 시작하고, 워커가 이벤트를 발생시키는 것을 기다립니다. 이벤트 루프는 워커가 이벤트를 발생시키면 콜백 함수를 호출합니다.

# 참고


EvWatcher::setCallback 메서드는 이벤트 루프에서만 사용할 수 있습니다. 이벤트 루프를 사용하기 전에 반드시 `EvLoop` 클래스의 인스턴스를 생성해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 570 페이지

검색

게시물 검색