나는 C# 세계에서 왔고 약간의 PHP 코딩을 시작 했으므로 PHP에서 이벤트를 사용할 수 있는지 또는 향후 릴리스에서이 기능을 포함 할 예정인지 궁금합니다. this과 다른 시뮬레이션 방법이 있다면 매우 감사하겠습니다.PHP 관련 이벤트. 가능한가?
4
A
답변
4
PHP에서 C#과 같은 이벤트는 발생하지 않지만 Observer Pattern을 구현하여 알림을 첨부 할 대리자를 첨부 할 수 있습니다.
2
Prado PHP Framework은 특히 C# 및 아마도 ASP.NET의 영역에서 왔기 때문에 사용자에게 어필 할 수있는 이벤트 기반 프레임 워크입니다.
Quick Start을 살펴보십시오. 특히 Control Reference의 코드를 살펴보십시오. 당신이 찾고있는 것과 비슷한 것인지 살펴보고 볼 수있는 많은 코드 샘플이 있습니다.
1
Stubbles는 꽤 좋은 Event Dispatcher을 가지고 있습니다.
1
SPL 일 - Standard PHP Library은 나뿐만 아니라 프라도을 제안 PHP
에
1
을 관찰자 패턴을 구현하기위한 SplObserver 및 SplSubject 인터페이스를 제공합니다.
0
당신은 PHP에서 이벤트 처리 클래스 같은 것을 만들 수 있습니다
class Event {
protected $_eventCallbacks = array();
function addEventCallback($callback) {
$this->_eventCallbacks[$callback] = $callback;
}
function removeEventCallback($callback){
if(isset($this->_eventCallbacks[$callback])){
unset ($this->_eventCallbacks[$callback]);
}
}
function cleanEventCallback(){
foreach ($this->_eventCallbacks as $callback) {
unset ($callback);
}
}
function fireEvent() {
foreach ($this->_eventCallbacks as $callback) {
call_user_func($callback);
}
}
}
이 코드는 여기 http://setahost.com/php-events-singletone-and-factory-pattern-application/ 에서 찍은이 클래스를 사용하여 모듈 및 하위 모듈 응용 프로그램의 좋은 예도 있습니다.
가변 변수? – Earlz
ey 미안하지만, 내가 ur 코멘트를 이해하지 못했습니다 ... 나는 실수를했을 경우 사과를 요구하기 때문에 저는 영어로 말하는 사람이 아닙니다 –
함수 포인터를 사용하여 원 이벤트 처리를 구현할 수 있습니다. 그러나 실망하게됩니다. 당신은 C# 델리게이트의 적합성과 완성도를 기대합니다. –