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
de1a2322
Commit
de1a2322
authored
Dec 24, 2014
by
Alexander Makarov
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6625 from pana1990/guide-es
[skip ci] Guide es
parents
a57aeb2a
047a0ffc
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
44 additions
and
44 deletions
+44
-44
concept-events.md
docs/guide-es/concept-events.md
+6
-6
concept-properties.md
docs/guide-es/concept-properties.md
+1
-1
db-dao.md
docs/guide-es/db-dao.md
+21
-21
db-query-builder.md
docs/guide-es/db-query-builder.md
+3
-3
helper-html.md
docs/guide-es/helper-html.md
+2
-2
helper-url.md
docs/guide-es/helper-url.md
+5
-5
runtime-handling-errors.md
docs/guide-es/runtime-handling-errors.md
+1
-1
runtime-logging.md
docs/guide-es/runtime-logging.md
+1
-1
structure-assets.md
docs/guide-es/structure-assets.md
+1
-1
structure-extensions.md
docs/guide-es/structure-extensions.md
+3
-3
No files found.
docs/guide-es/concept-events.md
View file @
de1a2322
...
...
@@ -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
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
(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
(sin paréntesis),
p.
ej.
`[$class, 'methodName']`
;
-
una función anónima,
p.
ej.
`function ($event) { ... }`
.
(sin paréntesis), ej.
`[$class, 'methodName']`
;
-
una función anónima, ej.
`function ($event) { ... }`
.
La firma de un gestor de eventos es:
...
...
@@ -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
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
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").
docs/guide-es/concept-properties.md
View file @
de1a2322
...
...
@@ -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
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
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:
...
...
docs/guide-es/db-dao.md
View file @
de1a2322
...
...
@@ -20,7 +20,7 @@ De forma predeterminada, Yii soporta los siguientes DBMS (Sistemas de Gestión d
[
bug
](
http://jira.cubrid.org/browse/APIS-658
)
en la extensión PDO de cubrid, los valores entrecomillados no
funcionarán, por lo que se necesita CUBRID 9.3 tanto para el cliente como para el servidor)
-
[
Oracle
](
http://www.oracle.com/us/products/database/overview/index.html
)
-
[
MSSQL
](
https://www.microsoft.com/en-us/sqlserver/default.aspx
)
: versión 200
5
o superior.
-
[
MSSQL
](
https://www.microsoft.com/en-us/sqlserver/default.aspx
)
: versión 200
8
o superior.
Configuración
-------------
...
...
@@ -114,8 +114,8 @@ $connection = new \yii\db\Connection([
$connection
->
open
();
```
>
Tip: Si se necesita ejecutar una consulta SQL inmediatamente después de establecer la conexión
(
p. ej. para establecer la zona horaria (timezone) o juego de caracteres), se puede añadir el siguiente código en el
>
Consejo: Si se necesita ejecutar una consulta SQL inmediatamente después de establecer la conexión
(
ej. para establecer la zona horaria (timezone) o el juego de caracteres), se puede añadir el siguiente código en el
archivo de configuración de la aplicación:
>
```
php
...
...
@@ -135,7 +135,7 @@ return [
];
```
Ejecución de Consultas SQL B
a
sicas
Ejecución de Consultas SQL B
á
sicas
----------------------------------
Una vez instanciada una conexión a la base de datos, se pueden ejecutar consultas SQL usando
[
[yii\db\Command
]
].
...
...
@@ -180,7 +180,7 @@ $command->execute();
```
De forma alternativa, se pueden usar los métodos
`insert`
,
`update`
, y
`delete`
. Estos métodos se encargarán de
gestionar e
ntrecomillar adecuadamente el nombre de la tabla y de las columnas que se usen en la consulta, y solo se
gestionar e
l entrecomillado de los nombres de las tablas y de las columnas que se usen en la consulta, y solo se
tendrá que proporcionar los valores necesarios.
[
[Se tiene que poner el enlace de documentación aquí.
]
]
...
...
@@ -206,10 +206,10 @@ $connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execu
$connection
->
createCommand
()
->
delete
(
'user'
,
'status = 0'
)
->
execute
();
```
Entrecomillado de
Nombre de Tablas y Columnas
---------------------------------------------
Entrecomillado de
los Nombres de las Tablas y las Columnas <a name="quoting-table-and-column-names"></a>
---------------------------------------------
-------------
Para hacer que los nombres de
columnas y tablas sean seguros para usarse en consultas, se puede utilizar Yii
Para hacer que los nombres de
las columnas y las tablas sean seguros para usarse en las consultas, se puede utilizar Yii
adecuadamente para que los entrecomille:
```
php
...
...
@@ -220,7 +220,7 @@ $rowCount = $connection->createCommand($sql)->queryScalar();
En el código anterior, se convertirá
`[[$column]]`
a un nombre de columna debidamente entrecomillado, mientras que se
convertirá
`{{table}}`
a un nombre de tabla debidamente entrecomillado.
Hay una variante especial de esta sintaxis especifica para que los nombres de
tablas:
`{{%Y}}`
añade automáticamente
Hay una variante especial de esta sintaxis especifica para que los nombres de
las tablas:
`{{%Y}}`
añade automáticamente
el prefijo de la tabla de la aplicación para proporcionar un valor, si se ha establecido un prefijo de tabla:
```
php
...
...
@@ -244,7 +244,7 @@ return [
];
```
La alternativa es entrecomillar los nombres de
tabla y columna manualmente usando
La alternativa es entrecomillar los nombres de
las tablas y las columnas manualmente usando
[
[yii\db\Connection::quoteTableName()]] y [[yii\db\Connection::quoteColumnName()]
]:
```php
...
...
@@ -342,12 +342,12 @@ try {
```
Tenga en cuanta que el DBMS debe soportar Puntos de Registro (Savepoints) para que funcionen correctamente. El código
anterior, trabajará con cualquier DBMS pero
las sólo se garantizarán las transacciones que se ejecuten bajo un DBMS
anterior, trabajará con cualquier DBMS pero
sólo se garantizarán las transacciones que se ejecuten bajo un DBMS
que las soporte.
Yii también soporta la configuración de [niveles de aislamiento] en las transacciones. Cuando empiece una transacción
se ejecutará con el nivel predeterminado de aislamiento definido por la base de datos. Se puede especificar un nivel
de aislamiento espec
i
fico cuando se empieza una transacción:
de aislamiento espec
í
fico cuando se empieza una transacción:
```
php
$transaction = $connection->beginTransaction(
\y
ii
\d
b
\T
ransaction::REPEATABLE_READ);
...
...
@@ -379,7 +379,7 @@ conflictos de configuración. En este momento se ven afectados los DBMS MSSQL y
[isolation levels]: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels
R
e
plicas y División Lectura-Escritura
R
é
plicas y División Lectura-Escritura
-------------------------------------
Muchos DBMS soportan
...
...
@@ -406,7 +406,7 @@ el componente [[yii\db\Connection]] como se muestra a continuación:
'username' => 'slave',
'password' => '',
'attributes' => [
// u
se a smaller connection timeout
// u
tiliza un tiempo de espera de conexión más pequeña
PDO::ATTR_TIMEOUT => 10,
],
],
...
...
@@ -422,7 +422,7 @@ el componente [[yii\db\Connection]] como se muestra a continuación:
```
La configuración anterior especifica una configuración con un único maestro y múltiples esclavos. Uno de los esclavos
se conectará y se usará para ejecutar consultas de lectura mientras que el maestro se usar
a para realizar consultas de
se conectará y se usará para ejecutar consultas de lectura mientras que el maestro se usar
á para realizar consultas de
escritura. De este modo la división de lectura-escritura se logra automáticamente con esta configuración, Por ejemplo,
```
php
...
...
@@ -442,7 +442,7 @@ $db->createCommand("UPDATE user SET username='demo' WHERE id=1")->execute();
El componente `Connection` soporta el balanceo de carga y la conmutación de errores entre esclavos. Cuando se realiza
una consulta de lectura por primera vez, el componente `Connection` elegirá un esclavo aleatorio e intentará realizar
una conexión a este. Si está "muerto", se intentar
a con otro. Si no está disponible ningún esclavo, se conectará al
una conexión a este. Si está "muerto", se intentar
á con otro. Si no está disponible ningún esclavo, se conectará al
maestro. Configurando una [[yii\db\Connection::serverStatusCache|server status cache]], se recordarán los servidores
"muertos" por lo que no se intentará volver a conectar a ellos durante
[[yii\db\Connection::serverRetryInterval|certain period of time]].
...
...
@@ -462,7 +462,7 @@ También se pueden configurar múltiples parámetros para múltiples esclavos. P
'username' => 'master',
'password' => '',
'attributes' => [
// u
se a smaller connection timeout
// u
tilizar un tiempo de espera de conexión más pequeña
PDO::ATTR_TIMEOUT => 10,
],
],
...
...
@@ -478,7 +478,7 @@ También se pueden configurar múltiples parámetros para múltiples esclavos. P
'username' => 'slave',
'password' => '',
'attributes' => [
// u
se a smaller connection timeout
// u
tilizar un tiempo de espera de conexión más pequeña
PDO::ATTR_TIMEOUT => 10,
],
],
...
...
@@ -499,7 +499,7 @@ cuando no se encuentra ningún maestro disponible se lanza una excepción.
> Nota: cuando se usa la propiedad [[yii\db\Connection::masters|masters]] para configurar uno o múltiples maestros, se
ignorarán todas las otras propiedades que especifiquen una conexión de base de datos
(
p.
ej. `dsn`, `username`, `password`), junto con el mismo objeto `Connection`.
(ej. `dsn`, `username`, `password`), junto con el mismo objeto `Connection`.
Las conexiones usan la conexión de maestro de forma predeterminada. Y todas las operaciones de BBDD que estén dentro
de una transacción, usaran la conexión de maestro. Por ejemplo,
...
...
@@ -560,7 +560,7 @@ Para hacer referencia al esquema entero, se puede revisar [[yii\db\Schema]].
### Modificación de esquemas
Aparte de consultas SQL b
asicas, [[yii\db\Command]] contiene un conjunto de métodos que permiten modificar el esquema
Aparte de consultas SQL b
ásicas, [[yii\db\Command]] contiene un conjunto de métodos que permiten modificar el esquema
de la base de datos:
- createTable, renameTable, dropTable, truncateTable
...
...
@@ -572,7 +572,7 @@ de la base de datos:
Que pueden usarse como se muestra a continuación:
```
php
// CREA
TE TABLE
// CREA
R TABLA
$connection->createCommand()->createTable('post',
[
'id' => 'pk',
'title' => 'string',
...
...
docs/guide-es/db-query-builder.md
View file @
de1a2322
...
...
@@ -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
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
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:
...
...
@@ -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
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
proporciona la tabla como una subconsulta o una expresión de BD). Por ejemplo:
...
...
docs/guide-es/helper-html.md
View file @
de1a2322
...
...
@@ -48,8 +48,8 @@ gestión adicional que se debe conocer:
[
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()
]
].
-
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"`
.
-
El atributo "data" puede recibir JSON. Se gestionará de la misma manera que un array
p. ej.
`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
ej.
`'data' => ['params' => ['id' => 1, 'name' => 'yii'], 'status' => 'ok']`
se convierte en
`data-params='{"id":1,"name":"yii"}' data-status="ok"`
.
...
...
docs/guide-es/helper-url.md
View file @
de1a2322
...
...
@@ -38,7 +38,7 @@ para crear una URL:
$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:
```
php
...
...
@@ -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'
]
```
Una ruta puede ser absoluta o relativa. Una ruta absoluta tiene una barra al principio (
p. ej.
`/site/index`
),
mientras que una ruta relativa no la tiene (
p. ej.
`site/index`
o
`index`
). Una ruta relativa se convertirá en una
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 (
ej.
`site/index`
o
`index`
). Una ruta relativa se convertirá en una
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 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
]
];
-
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.
A continuación se muestran varios ejemplos del uso de este método:
...
...
docs/guide-es/runtime-handling-errors.md
View file @
de1a2322
...
...
@@ -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
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.
*
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.
...
...
docs/guide-es/runtime-logging.md
View file @
de1a2322
...
...
@@ -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
exportar los mensajes de las anotaciones;
*
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.
...
...
docs/guide-es/structure-assets.md
View file @
de1a2322
...
...
@@ -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
solo deben usarse las barras invertidas "/" como separadores de directorios. Cada archivo Javascrpt se puede
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
archivo puede ser determinada anteponiendo
[
[yii\web\AssetManager::baseUrl
]
] a la ruta relativa.
-
un URL absoluta que represente un archivo JavaScript externo. Por ejemplo,
...
...
docs/guide-es/structure-extensions.md
View file @
de1a2322
...
...
@@ -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
`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
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.
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
#### 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.
#### Lanzamientos <a name="releasing"></a>
...
...
@@ -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
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
actualizar la extensión a mediante el repositorio Composer.
...
...
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