mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	Update concept-events.md
This commit is contained in:
		@ -3,7 +3,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Los eventos permiten inyectar código dentro de otro código existente en ciertos puntos de ejecución. Se pueden adjuntar
 | 
					Los eventos permiten inyectar código dentro de otro código existente en ciertos puntos de ejecución. Se pueden adjuntar
 | 
				
			||||||
código personalizado a un evento, cuando se lance (triggered), el código se ejecutará automáticamente. Por ejemplo, un
 | 
					código personalizado a un evento, cuando se lance (triggered), el código se ejecutará automáticamente. Por ejemplo, un
 | 
				
			||||||
objeto `mailer` puede lanzar el evento `messageSent` cuando se envía un mensaje correctamente. Si se quiere rastrear
 | 
					objeto mailer puede lanzar el evento `messageSent` cuando se envía un mensaje correctamente. Si se quiere rastrear
 | 
				
			||||||
el correcto envío del mensaje, se puede, simplemente, añadir un código de seguimiento al evento `messageSent`.
 | 
					el correcto envío del mensaje, se puede, simplemente, añadir un código de seguimiento al evento `messageSent`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Yii introduce una clase base [[yii\base\Component]] para soportar eventos. Si una clase necesita lanzar un evento,
 | 
					Yii introduce una clase base [[yii\base\Component]] para soportar eventos. Si una clase necesita lanzar un evento,
 | 
				
			||||||
@ -34,11 +34,12 @@ function ($event) {
 | 
				
			|||||||
Un gestor de eventos puede obtener la siguiente información acerca de un evento ya sucedido mediante el parámetro
 | 
					Un gestor de eventos puede obtener la siguiente información acerca de un evento ya sucedido mediante el parámetro
 | 
				
			||||||
`$event`:
 | 
					`$event`:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- [[yii\base\Event::name|event name]]
 | 
					- [[yii\base\Event::name|nombre del evento]]
 | 
				
			||||||
- [[yii\base\Event::sender|event sender]]: el objeto desde el que se ha ejecutado `trigger()`
 | 
					- [[yii\base\Event::sender|evento enviando]]: el objeto desde el que se ha ejecutado `trigger()`
 | 
				
			||||||
- [[yii\base\Event::data|custom data]]: los datos que se proporcionan al adjuntar el gestor de eventos
 | 
					- [[yii\base\Event::data|custom data]]: los datos que se proporcionan al adjuntar el gestor de eventos
 | 
				
			||||||
  (se explicará más adelante)
 | 
					  (se explicará más adelante)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Añadir Gestores de Eventos <a name="attaching-event-handlers"></a>
 | 
					Añadir Gestores de Eventos <a name="attaching-event-handlers"></a>
 | 
				
			||||||
--------------------------
 | 
					--------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -95,7 +96,7 @@ $foo->on(Foo::EVENT_HELLO, function ($event) {
 | 
				
			|||||||
De forma predeterminada, cada nuevo gestor añadido se pone a la cola de la lista de gestores del evento. Por lo tanto,
 | 
					De forma predeterminada, cada nuevo gestor añadido se pone a la cola de la lista de gestores del evento. Por lo tanto,
 | 
				
			||||||
el gestor se ejecutará en el último lugar cuando se lance el evento. Para insertar un nuevo gestor al principio de la
 | 
					el gestor se ejecutará en el último lugar cuando se lance el evento. Para insertar un nuevo gestor al principio de la
 | 
				
			||||||
cola de gestores para que sea ejecutado primero, se debe llamar a [[yii\base\Component::on()]], pasando al cuarto
 | 
					cola de gestores para que sea ejecutado primero, se debe llamar a [[yii\base\Component::on()]], pasando al cuarto
 | 
				
			||||||
parámetro `$append` el valor `false`:
 | 
					parámetro `$append` el valor false:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```php
 | 
					```php
 | 
				
			||||||
$foo->on(Foo::EVENT_HELLO, function ($event) {
 | 
					$foo->on(Foo::EVENT_HELLO, function ($event) {
 | 
				
			||||||
@ -135,10 +136,10 @@ Con el código anterior, cada llamada a `bar()` lanzará un evento llamado `hell
 | 
				
			|||||||
  Tercero, se puede ver que eventos soporta una clase simplemente revisando la declaración de constantes.
 | 
					  Tercero, se puede ver que eventos soporta una clase simplemente revisando la declaración de constantes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A veces cuando se lanza un evento se puede querer pasar información adicional al gestor de eventos. Por ejemplo, un
 | 
					A veces cuando se lanza un evento se puede querer pasar información adicional al gestor de eventos. Por ejemplo, un
 | 
				
			||||||
`mailer` puede querer enviar la información del mensaje para que los gestores del evento `messageSent` para que los
 | 
					mailer puede querer enviar la información del mensaje para que los gestores del evento `messageSent` para que los
 | 
				
			||||||
gestores puedan saber las particularidades del mensaje enviado. Para hacerlo, se puede proporcionar un objeto de tipo
 | 
					gestores puedan saber las particularidades del mensaje enviado. Para hacerlo, se puede proporcionar un objeto de tipo
 | 
				
			||||||
evento como segundo parámetro al método [[yii\base\Component::trigger()]]. El objeto de tipo evento debe ser una
 | 
					evento como segundo parámetro al método [[yii\base\Component::trigger()]]. El objeto de tipo evento debe ser una
 | 
				
			||||||
instancia de la clase [[yii\base\Event]] o de sus hijas. Por ejemplo:
 | 
					instancia de la clase [[yii\base\Event]] o de su clase hija. Por ejemplo:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```php
 | 
					```php
 | 
				
			||||||
namespace app\components;
 | 
					namespace app\components;
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user