Commit 28fd9167 by pana1990

Replace 'p. ej.' with 'ej.' [skip ci]

parent 9510d6d8
...@@ -16,12 +16,12 @@ Un gestor de eventos es una ...@@ -16,12 +16,12 @@ Un gestor de eventos es una
[llamada de retorno PHP (PHP callback)](http://php.net/manual/es/language.types.callable.php) que se ejecuta cuando se [llamada de retorno PHP (PHP callback)](http://php.net/manual/es/language.types.callable.php) que se ejecuta cuando se
lanza el evento al que corresponde. Se puede usar cualquier llamada de retorno de las enumeradas a continuación: lanza el evento al que corresponde. Se puede usar cualquier llamada de retorno de las enumeradas a continuación:
- una función de PHP global especificada como una cadena de texto (sin paréntesis), p. ej. `'trim'`; - una función de PHP global especificada como una cadena de texto (sin paréntesis), ej. `'trim'`;
- un método de objeto especificado como un array de un objeto y un nombre de método como una cadena de texto - un método de objeto especificado como un array de un objeto y un nombre de método como una cadena de texto
(sin paréntesis), p. ej. `[$object, 'methodNAme']`; (sin paréntesis), ej. `[$object, 'methodNAme']`;
- un método de clase estático especificado como un array de un nombre de clase y un método como una cadena de texto - un método de clase estático especificado como un array de un nombre de clase y un método como una cadena de texto
(sin paréntesis), p. ej. `[$class, 'methodName']`; (sin paréntesis), ej. `[$class, 'methodName']`;
- una función anónima, p. ej. `function ($event) { ... }`. - una función anónima, ej. `function ($event) { ... }`.
La firma de un gestor de eventos es: La firma de un gestor de eventos es:
...@@ -284,8 +284,8 @@ Yii::$app->trigger('bar', new Event(['sender' => new Foo])); ...@@ -284,8 +284,8 @@ Yii::$app->trigger('bar', new Event(['sender' => new Foo]));
Un beneficio de usar eventos globales es que no se necesita un objeto cuando se adjuntan gestores a un evento para que Un beneficio de usar eventos globales es que no se necesita un objeto cuando se adjuntan gestores a un evento para que
sean lanzados por el objeto. En su lugar, los gestores adjuntos y el lanzamiento de eventos se efectúan en el sean lanzados por el objeto. En su lugar, los gestores adjuntos y el lanzamiento de eventos se efectúan en el
Singleton (p. ej. la instancia de la aplicación). Singleton (ej. la instancia de la aplicación).
Sin embargo, debido a que los `namespaces` de los eventos globales son compartidos por todas partes, se les deben Sin embargo, debido a que los `namespaces` de los eventos globales son compartidos por todas partes, se les deben
asignar nombres bien pensados, como puede ser la introducción de algún `namespace` asignar nombres bien pensados, como puede ser la introducción de algún `namespace`
(p. ej. "frontend.mail.sent", "backend.mail.sent"). (ej. "frontend.mail.sent", "backend.mail.sent").
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
=========== ===========
En PHP, las variables miembro de clases también llamadas *propiedades*, son parte de la definición de la clase, y se En PHP, las variables miembro de clases también llamadas *propiedades*, son parte de la definición de la clase, y se
usan para representar el estado de una instancia de la clase (p. ej. para diferenciar una instancia de clase de otra). usan para representar el estado de una instancia de la clase (ej. para diferenciar una instancia de clase de otra).
A la práctica, a menudo, se puede querer gestionar la lectura o escritura de las propiedades de algunos momentos. Por A la práctica, a menudo, se puede querer gestionar la lectura o escritura de las propiedades de algunos momentos. Por
ejemplo, se puede querer eliminar los espacios en blanco (trim) de una cadena de texto cada vez que esta se asigne a ejemplo, se puede querer eliminar los espacios en blanco (trim) de una cadena de texto cada vez que esta se asigne a
una propiedad de tipo `label`. Se *podría* usar el siguiente código para realizar esta tarea: una propiedad de tipo `label`. Se *podría* usar el siguiente código para realizar esta tarea:
......
...@@ -81,9 +81,9 @@ $query->select(['id', 'name']) ...@@ -81,9 +81,9 @@ $query->select(['id', 'name'])
cadena de texto de otra columna, puede ser que la expresión se divida en varias partes por comas, esto puede cadena de texto de otra columna, puede ser que la expresión se divida en varias partes por comas, esto puede
conllevar a errores. conllevar a errores.
Cuando se especifican columnas, se pueden incluir los prefijos de las tablas o alias de columnas, p. ej. `user.id`, Cuando se especifican columnas, se pueden incluir los prefijos de las tablas o alias de columnas, ej. `user.id`,
`user.id AS user_id`. Si se usa un array para especificar las columnas, también se pueden usar las claves del array `user.id AS user_id`. Si se usa un array para especificar las columnas, también se pueden usar las claves del array
para especificar los alias de columna, p. ej. `['user_id' => 'user.id', 'user_name' => 'user.name']`. para especificar los alias de columna, ej. `['user_id' => 'user.id', 'user_name' => 'user.name']`.
A partir de la versión 2.0.1, también se pueden seleccionar subconsultas como columnas. Por ejemplo: A partir de la versión 2.0.1, también se pueden seleccionar subconsultas como columnas. Por ejemplo:
...@@ -109,7 +109,7 @@ $query->select('*')->from('user'); ...@@ -109,7 +109,7 @@ $query->select('*')->from('user');
``` ```
Se pueden especificar múltiples tablas usando una cadena de texto separado por comas o un array. Los nombres de tablas Se pueden especificar múltiples tablas usando una cadena de texto separado por comas o un array. Los nombres de tablas
pueden contener prefijos de esquema (p. ej. `'public.user'`) y/o alias de tablas (p. ej. `'user u'). El método pueden contener prefijos de esquema (ej. `'public.user'`) y/o alias de tablas (ej. `'user u'). El método
entrecomillara automáticamente los nombres de tablas a menos que contengan algún paréntesis (que significa que se entrecomillara automáticamente los nombres de tablas a menos que contengan algún paréntesis (que significa que se
proporciona la tabla como una subconsulta o una expresión de BD). Por ejemplo: proporciona la tabla como una subconsulta o una expresión de BD). Por ejemplo:
......
...@@ -48,8 +48,8 @@ gestión adicional que se debe conocer: ...@@ -48,8 +48,8 @@ gestión adicional que se debe conocer:
[atributos booleanos](http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes). [atributos booleanos](http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes).
- Los valores de los atributos se codificaran en HTML usando [[yii\helpers\Html::encode()|Html::encode()]]. - Los valores de los atributos se codificaran en HTML usando [[yii\helpers\Html::encode()|Html::encode()]].
- El atributo "data" puede recibir un array. En este caso, se "expandirá" y se renderizará una lista de atributos - El atributo "data" puede recibir un array. En este caso, se "expandirá" y se renderizará una lista de atributos
`data` p. ej. `'data' => ['id' => 1, 'name' => 'yii']` se convierte en `data-id="1" data-name="yii"`. `data` ej. `'data' => ['id' => 1, 'name' => 'yii']` se convierte en `data-id="1" data-name="yii"`.
- El atributo "data" puede recibir JSON. Se gestionará de la misma manera que un array p. ej. - El atributo "data" puede recibir JSON. Se gestionará de la misma manera que un array ej.
`'data' => ['params' => ['id' => 1, 'name' => 'yii'], 'status' => 'ok']` se convierte en `'data' => ['params' => ['id' => 1, 'name' => 'yii'], 'status' => 'ok']` se convierte en
`data-params='{"id":1,"name":"yii"}' data-status="ok"`. `data-params='{"id":1,"name":"yii"}' data-status="ok"`.
......
...@@ -38,7 +38,7 @@ para crear una URL: ...@@ -38,7 +38,7 @@ para crear una URL:
$url = Url::toRoute(['product/view', 'id' => 42]); $url = Url::toRoute(['product/view', 'id' => 42]);
``` ```
Se puede especificar la ruta como una cadena de texto, p. ej. `site/index`. También se puede usar un array si se Se puede especificar la ruta como una cadena de texto, ej. `site/index`. También se puede usar un array si se
quieren especificar parámetros para la URL que se esta generando. El formato del array debe ser: quieren especificar parámetros para la URL que se esta generando. El formato del array debe ser:
```php ```php
...@@ -53,14 +53,14 @@ Si se quiere crear una URL con un enlace, se puede usar el formato de array con ...@@ -53,14 +53,14 @@ Si se quiere crear una URL con un enlace, se puede usar el formato de array con
['site/index', 'param1' => 'value1', '#' => 'name'] ['site/index', 'param1' => 'value1', '#' => 'name']
``` ```
Una ruta puede ser absoluta o relativa. Una ruta absoluta tiene una barra al principio (p. ej. `/site/index`), Una ruta puede ser absoluta o relativa. Una ruta absoluta tiene una barra al principio (ej. `/site/index`),
mientras que una ruta relativa no la tiene (p. ej. `site/index` o `index`). Una ruta relativa se convertirá en una mientras que una ruta relativa no la tiene (ej. `site/index` o `index`). Una ruta relativa se convertirá en una
ruta absoluta siguiendo las siguientes normas: ruta absoluta siguiendo las siguientes normas:
- Si la ruta es una cadena vacía, se usará la [[\yii\web\Controller::route|route]] actual; - Si la ruta es una cadena vacía, se usará la [[\yii\web\Controller::route|route]] actual;
- Si la ruta no contiene barras (p. ej. `index`), se considerará que es el ID de una acción del controlador actual y - Si la ruta no contiene barras (ej. `index`), se considerará que es el ID de una acción del controlador actual y
se antepondrá con [[\yii\web\Controller::uniqueId]]; se antepondrá con [[\yii\web\Controller::uniqueId]];
- Si la ruta no tiene barra inicial (p. ej. `site/index`), se considerará que es una ruta relativa del modulo actual y - Si la ruta no tiene barra inicial (ej. `site/index`), se considerará que es una ruta relativa del modulo actual y
se le antepondrá el [[\yii\base\Module::uniqueId|uniqueId]] del modulo. se le antepondrá el [[\yii\base\Module::uniqueId|uniqueId]] del modulo.
A continuación se muestran varios ejemplos del uso de este método: A continuación se muestran varios ejemplos del uso de este método:
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
Yii incluye un [[yii\web\ErrorHandler|error handler]] que permite una gestión de errores mucho más práctica que Yii incluye un [[yii\web\ErrorHandler|error handler]] que permite una gestión de errores mucho más práctica que
anteriormente. En particular, el gestor de errores de Yii hace lo siguiente para mejorar la gestión de errores: anteriormente. En particular, el gestor de errores de Yii hace lo siguiente para mejorar la gestión de errores:
* Todos los errores no fatales (p. ej. advertencias (warning), avisos (notices)) se convierten en excepciones * Todos los errores no fatales (ej. advertencias (warning), avisos (notices)) se convierten en excepciones
capturables. capturables.
* Las excepciones y los errores fatales de PHP se muestran con una pila de llamadas (call stack) de información * Las excepciones y los errores fatales de PHP se muestran con una pila de llamadas (call stack) de información
detallada y lineas de código fuente. detallada y lineas de código fuente.
......
...@@ -12,7 +12,7 @@ Usar el framework de registro de anotaciones de Yii involucra los siguientes pas ...@@ -12,7 +12,7 @@ Usar el framework de registro de anotaciones de Yii involucra los siguientes pas
* Configurar los [destinos de las anotaciones](#log-targets) en la configuración de la aplicación para filtrar y * Configurar los [destinos de las anotaciones](#log-targets) en la configuración de la aplicación para filtrar y
exportar los mensajes de las anotaciones; exportar los mensajes de las anotaciones;
* Examinar los mensajes filtrados de los las anotaciones exportadas para diferentes destinos * Examinar los mensajes filtrados de los las anotaciones exportadas para diferentes destinos
(p. ej. [Yii debugger](tool-debugger.md)). (ej. [Yii debugger](tool-debugger.md)).
En esta sección, se describirán principalmente los dos primeros pasos. En esta sección, se describirán principalmente los dos primeros pasos.
......
...@@ -70,7 +70,7 @@ A continuación se explicarán más detalladamente las propiedades del [[yii\web ...@@ -70,7 +70,7 @@ A continuación se explicarán más detalladamente las propiedades del [[yii\web
* [[yii\web\AssetBundle::js|js]]: un array lista los archivos JavaScript que contiene este bundle. Tenga en cuenta que * [[yii\web\AssetBundle::js|js]]: un array lista los archivos JavaScript que contiene este bundle. Tenga en cuenta que
solo deben usarse las barras invertidas "/" como separadores de directorios. Cada archivo Javascrpt se puede solo deben usarse las barras invertidas "/" como separadores de directorios. Cada archivo Javascrpt se puede
especificar en uno de los siguientes formatos: especificar en uno de los siguientes formatos:
- una ruta relativa que represente un archivo local JavaScript (p. ej. `js/main.js`). La ruta actual del fichero - una ruta relativa que represente un archivo local JavaScript (ej. `js/main.js`). La ruta actual del fichero
se puede determinar anteponiendo [[yii\web\AssetManager::basePath]] a la ruta relativa, y la URL actual de un se puede determinar anteponiendo [[yii\web\AssetManager::basePath]] a la ruta relativa, y la URL actual de un
archivo puede ser determinada anteponiendo [[yii\web\AssetManager::baseUrl]] a la ruta relativa. archivo puede ser determinada anteponiendo [[yii\web\AssetManager::baseUrl]] a la ruta relativa.
- un URL absoluta que represente un archivo JavaScript externo. Por ejemplo, - un URL absoluta que represente un archivo JavaScript externo. Por ejemplo,
......
...@@ -190,7 +190,7 @@ aplicaciones Yii pueden saber que extensiones están instaladas. (se puede acced ...@@ -190,7 +190,7 @@ aplicaciones Yii pueden saber que extensiones están instaladas. (se puede acced
La extensión depende de Yii (por supuesto). Por ello se debe añadir (`yiisoft/yii2`) a la lista en la entrada La extensión depende de Yii (por supuesto). Por ello se debe añadir (`yiisoft/yii2`) a la lista en la entrada
`required` del archivo `composer.json`. Si la extensión también depende de otras extensiones o de terceras `required` del archivo `composer.json`. Si la extensión también depende de otras extensiones o de terceras
(third-party) librerías, también se deberán listar. Debemos asegurarnos de anotar las restricciones de versión (third-party) librerías, también se deberán listar. Debemos asegurarnos de anotar las restricciones de versión
apropiadas (p. ej. `1.*`, `@stable`) para cada paquete dependiente. Se deben usar dependencias estables en versiones apropiadas (ej. `1.*`, `@stable`) para cada paquete dependiente. Se deben usar dependencias estables en versiones
estables de nuestras extensiones. estables de nuestras extensiones.
La mayoría de paquetes JavaScript/CSS se gestionan usando [Bower](http://bower.io/) y/o [NPM](https://www.npmjs.org/), La mayoría de paquetes JavaScript/CSS se gestionan usando [Bower](http://bower.io/) y/o [NPM](https://www.npmjs.org/),
...@@ -358,7 +358,7 @@ pruebas unitarias (unit tests), pruebas de aceptación (acceptance tests) y prue ...@@ -358,7 +358,7 @@ pruebas unitarias (unit tests), pruebas de aceptación (acceptance tests) y prue
#### Versiones <a name="versioning"></a> #### Versiones <a name="versioning"></a>
Se debe asignar un número de versión cada vez que se lance una nueva distribución. (p. ej. `1.0.1`). Recomendamos Se debe asignar un número de versión cada vez que se lance una nueva distribución. (ej. `1.0.1`). Recomendamos
seguir la práctica [Versionamiento Semántico](http://semver.org/lang/es/) para determinar que números se deben usar. seguir la práctica [Versionamiento Semántico](http://semver.org/lang/es/) para determinar que números se deben usar.
#### Lanzamientos <a name="releasing"></a> #### Lanzamientos <a name="releasing"></a>
...@@ -367,7 +367,7 @@ Para dar a conocer nuestra extensión a terceras personas, debemos lanzara al pà ...@@ -367,7 +367,7 @@ Para dar a conocer nuestra extensión a terceras personas, debemos lanzara al pÃ
Si es la primera vez que se realiza un lanzamiento de una extensión, debemos registrarla en un repositorio Composer Si es la primera vez que se realiza un lanzamiento de una extensión, debemos registrarla en un repositorio Composer
como puede ser [Packagist](https://packagist.org/). Después de estos, todo lo que tenemos que hacer es crear una como puede ser [Packagist](https://packagist.org/). Después de estos, todo lo que tenemos que hacer es crear una
etiqueta (tag) (p. ej. `v1.0.1`) en un repositorio con VCS (Sistema de Control de Versiones) y notificarle al etiqueta (tag) (ej. `v1.0.1`) en un repositorio con VCS (Sistema de Control de Versiones) y notificarle al
repositorio Composer el nuevo lanzamiento. Entonces la gente podrá encontrar el nuevo lanzamiento y instalar o repositorio Composer el nuevo lanzamiento. Entonces la gente podrá encontrar el nuevo lanzamiento y instalar o
actualizar la extensión a mediante el repositorio Composer. actualizar la extensión a mediante el repositorio Composer.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment