Я пришел из мира C # и только начал делать небольшое PHP-кодирование, поэтому мне было интересно, можно ли использовать события на PHP, или если планируется включить эту функцию в будущую версию. Если у вас есть способ имитировать это, отличное от этого , было бы очень признательно, спасибо.
В PHP нет такого события, как C #, но вы можете реализовать шаблон Observer для прикрепления делегата к уведомлению.
Prado PHP Framework – это платформа, основанная на событиях, которая может понравиться вам, тем более, что вы отправляетесь с земли C # и, предположительно, ASP.NET.
Взгляните на Быстрый старт . В частности, взгляните на код в Справочном руководстве по управлению. Есть много примеров кода для вас, чтобы посмотреть и посмотреть, похоже ли это на то, что вы ищете.
У Stubbles есть довольно приятный Диспетчер событий .
SPL – стандартная библиотека PHP предоставляет интерфейсы SplObserver и SplSubject для реализации шаблона наблюдателя в PHP
Я бы тоже предложил Прадо.
Вы можете создать что-то вроде класса обработки событий в 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/. Кроме того, этот класс является хорошим примером модульного и суб модульного приложения.