Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
f08d6bab
Commit
f08d6bab
authored
Dec 26, 2014
by
Marco Da Silva
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update concept-events.md
parent
b78d397c
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
6 deletions
+7
-6
concept-events.md
docs/guide-es/concept-events.md
+7
-6
No files found.
docs/guide-es/concept-events.md
View file @
f08d6bab
...
...
@@ -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
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`
.
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
`$event`
:
-
[
[yii\base\Event::name|
event name
]
]
-
[
[yii\base\Event::sender|event
sender
]
]: el objeto desde el que se ha ejecutado
`trigger()`
-
[
[yii\base\Event::name|
nombre del evento
]
]
-
[
[yii\base\Event::sender|event
o 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
(se explicará más adelante)
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,
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
parámetro
`$append`
el valor
`false`
:
parámetro
`$append`
el valor
false
:
```
php
$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.
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
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 su
s hijas
. Por ejemplo:
instancia de la clase
[
[yii\base\Event
]
] o de su
clase hija
. Por ejemplo:
```
php
namespace
app\components
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment