Tratamento de eventos com PIMF php micro framework

Os eventos podem fornecer uma ótima maneira de construir aplicativos dissociados e permitem que você acesse o núcleo do seu
aplicativo sem modificar seu código.

Disparando um evento

Para disparar um evento, basta dizer à classe Event o nome do evento que você deseja disparar:

$responses = Event::fire('user.updated');

Observe que atribuímos o resultado do método fire a uma variável. Este método retornará um array contendo as
respostas de todos os ouvintes do evento.

Disparando um evento e recuperando a primeira resposta

Às vezes, você pode querer disparar um evento, mas apenas obter a primeira resposta.

$response = Event::first('user.updated');

Observação: o primeiro método ainda disparará todos os manipuladores que ouvem o evento, mas retornará apenas a primeira resposta.
O método Event :: until executará os manipuladores de eventos até que a primeira resposta não nula seja retornada.

Disparando um evento até a primeira resposta não nula

$response = Event::until('user.updated');

Ouvindo Eventos

Em /app/YourAppName/events.php você pode definir seus ouvintes de evento dentro dos callbacks que devem ser executados.
Basta criar o arquivo /app/YourAppName/events.php e registrar um ouvinte de evento que será chamado quando um evento for disparado:

Event::listen('user.deleted', function()
{
// I'm executed on the "user.deleted" event!
});

O Closure que fornecemos ao método será executado cada vez que o evento user.deleted for disparado.

PIMF Core Events

Existem vários eventos que são disparados pelo núcleo PIMF.

O Evento 404

Se uma solicitação entrar em seu aplicativo, mas não corresponder a nenhuma rota existente, o evento 404 será gerado.
Você pode ouvir e enviar um e-mail de notificação, por exemplo. Você pode definir os ouvintes de eventos
no arquivo de aplicativos /app/YourAppName/events.php

Event::listen('404', function()
{
// I'm executed on the "404" event!
// send e-mail to admin...
});

The 500 Event

Todos os outros problemas críticos ou erros durante a sua solicitação irão gerar um 500 Internal Server Error, que pode ser ouvido
e enviar a você um e-mail de notificação, por exemplo.

Event::listen('500', function()
{
// I'm executed on the "500" event!
// send e-mail to admin...
});

Confira um dos melhores budels em www.pimf-framework.de