Browse Source

Some spanish docs updates [skip ci] (#11621)

ar-bug
Luciano Baraglia 8 years ago committed by Dmitry Naumenko
parent
commit
04835e5a33
  1. 71
      docs/guide-es/helper-url.md
  2. 155
      docs/guide-es/start-installation.md

71
docs/guide-es/helper-url.md

@ -3,8 +3,8 @@ Clase Auxiliar URL (URL Helper)
La clase auxiliar URL proporciona un conjunto de métodos estáticos para gestionar URLs.
Obtener URLs Comunes
--------------------
## Obtener URLs comúnes <span id="getting-common-urls"></span>
Se pueden usar dos métodos para obtener URLs comunes: URL de inicio (home URL) y URL base (base URL) de la petición
(request) actual. Para obtener la URL de inicio se puede usar el siguiente código:
@ -15,7 +15,7 @@ $absoluteHomeUrl = Url::home(true);
$httpsAbsoluteHomeUrl = Url::home('https');
```
Si no se pasan parámetros, las URLs generadas son relativas. Se puede pasar `true`para obtener la URL absoluta del
Si no se pasan parámetros, la URL generada es relativa. Se puede pasar `true`para obtener la URL absoluta del
esquema actual o especificar el esquema explícitamente (`https`, `http`).
Para obtener la URL base de la petición actual, se puede usar el siguiente código:
@ -28,11 +28,11 @@ $httpsAbsoluteBaseUrl = Url::base('https');
El único parámetro del método funciona exactamente igual que para `Url::home()`.
Creación de URLs
----------------
Para crear una URL para una ruta determinada se puede usar `Url::toRoute()`. El metodo utiliza [[\yii\web\UrlManager]]
para crear una URL:
## Creación de URLs <span id="creating-urls"></span>
Para crear una URL para una ruta determinada se puede usar `Url::toRoute()`. El método utiliza [[\yii\web\UrlManager]]
para crear la URL:
```php
$url = Url::toRoute(['product/view', 'id' => 42]);
@ -42,7 +42,7 @@ Se puede especificar la ruta como una cadena de texto, ej. `site/index`. Tambié
quieren especificar parámetros para la URL que se esta generando. El formato del array debe ser:
```php
// genera: /index.php?r=site/index&param1=value1&param2=value2
// genera: /index.php?r=site%2Findex&param1=value1&param2=value2
['site/index', 'param1' => 'value1', 'param2' => 'value2']
```
@ -53,9 +53,8 @@ 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 (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:
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 reglas:
- Si la ruta es una cadena vacía, se usará la [[\yii\web\Controller::route|route]] actual;
- Si la ruta no contiene barras (ej. `index`), se considerará que es el ID de una acción del controlador actual y
@ -63,19 +62,26 @@ ruta absoluta siguiendo las siguientes normas:
- 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.
Desde la versión 2.0.2, puedes especificar una ruta en términos de [alias](concept-aliases.md). Si este es el caso,
el alias será convertido primero en la ruta real, la cual será entonces transformada en una ruta absoluta de acuerdo
a las reglas mostradas arriba.
A continuación se muestran varios ejemplos del uso de este método:
```php
// /index?r=site/index
// /index.php?r=site%2Findex
echo Url::toRoute('site/index');
// /index?r=site/index&src=ref1#name
// /index.php?r=site%2Findex&src=ref1#name
echo Url::toRoute(['site/index', 'src' => 'ref1', '#' => 'name']);
// http://www.example.com/index.php?r=site/index
// /index.php?r=post%2Fedit&id=100 asume que el alias "@postEdit" se definió como "post/edit"
echo Url::toRoute(['@postEdit', 'id' => 100]);
// http://www.example.com/index.php?r=site%2Findex
echo Url::toRoute('site/index', true);
// https://www.example.com/index.php?r=site/index
// https://www.example.com/index.php?r=site%2Findex
echo Url::toRoute('site/index', 'https');
```
@ -99,13 +105,16 @@ el especificado.
A continuación se muestran algunos ejemplos de uso:
```php
// /index?r=site/index
// /index.php?r=site%2Findex
echo Url::to(['site/index']);
// /index?r=site/index&src=ref1#name
// /index.php?r=site%2Findex&src=ref1#name
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']);
// la URL solicitada actualmente
// /index.php?r=post%2Fedit&id=100 asume que el alias "@postEdit" se definió como "post/edit"
echo Url::to(['@postEdit', 'id' => 100]);
// the currently requested URL
echo Url::to();
// /images/logo.gif
@ -121,8 +130,24 @@ echo Url::to('@web/images/logo.gif', true);
echo Url::to('@web/images/logo.gif', 'https');
```
Recordar la URL para utilizarla más adelante
--------------------------------------------
Desde la versión 2.0.3, puedes utilizar [[yii\helpers\Url::current()]] para crear una URL a partir de la ruta
solicitada y los parámetros GET. Puedes modificar o eliminar algunos de los parámetros GET, o también agregar nuevos
pasando un parámetro `$params` al método. Por ejemplo,
```php
// asume que $_GET = ['id' => 123, 'src' => 'google'], la ruta actual es "post/view"
// /index.php?r=post%2Fview&id=123&src=google
echo Url::current();
// /index.php?r=post%2Fview&id=123
echo Url::current(['src' => null]);
// /index.php?r=post%2Fview&id=100&src=google
echo Url::current(['id' => 100]);
```
## Recordar URLs <span id="remember-urls"></span>
Hay casos en que se necesita recordar la URL y después usarla durante el procesamiento de una de las peticiones
secuenciales. Se puede logar de la siguiente manera:
@ -145,11 +170,9 @@ $url = Url::previous();
$productUrl = Url::previous('product');
```
Reconocer la relatividad de URLs
--------------------------------
## Chequear URLs relativas <span id="checking-relative-urls"></span>
Para descubrir si una URL es relativa, es decir, que no contenga información del host, se puede utilizar el siguiente
código:
Para descubrir si una URL es relativa, es decir, que no contenga información del host, se puede utilizar el siguiente código:
```php
$isRelative = Url::isRelative('test/it');

155
docs/guide-es/start-installation.md

@ -1,58 +1,89 @@
Instalando Yii
==============
Instalar Yii
============
Yii puede ser instalado de dos maneras, usando [Composer](https://getcomposer.org/) o descargando un archivo comprimido.
Es preferible usar la primera forma, ya que te permite instalar [extensiones](structure-extensions.md) o actualizar Yii ejecutando un simple comando.
Puedes instalar Yii de dos maneras, utilizando el administrador de paquetes [Composer](https://getcomposer.org/) o descargando un archivo comprimido.
La forma recomendada es la primera, ya que te permite instalar nuevas [extensions](structure-extensions.md) o actualizar Yii con sólo ejecutar un comando.
> Note: A diferencia de Yii 1, la instalación estándar de Yii 2 resulta en la descarga e instalación tanto del framework como del esqueleto de la aplicación.
La instalación estándar de Yii cuenta tanto con el framework como un template de proyecto instalados.
Un template de proyecto es un proyecto Yii funcional que implementa algunas características básicas como: login, formulario de contacto, etc.
El código está organizado de una forma recomendada. Por lo tanto, puede servir como un buen punto de partida para tus proyectos.
En esta y en las próximas secciones, describiremos cómo instalar Yii con el llamado *Template de Proyecto Básico*
y cómo implementar nuevas características por encima del template. Yii también provee otro template llamado
[Template de Proyecto Avanzado](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/README.md) qué es mejor para desarrollar aplicaciones con varios niveles
en el entorno de un equipo de desarrollo.
> Info: El Template de Proyecto Básico es adecuado para desarrollar el 90 porciento de las aplicaciones Web. Difiere del
Template de Proyecto Avanzado principalmente en cómo está organizado el código. Si eres nuevo en Yii, te recomendamos
utilizar el Template de Proyecto Básico por su simplicidad pero funcionalidad suficiente.
Instalando a través de Composer <span id="installing-via-composer"></span>
Installing via Composer <span id="installing-via-composer"></span>
-------------------------------
Si aún no tienes Composer instalado, puedes hacerlo siguiendo las instrucciones que se encuentran en
[getcomposer.org](https://getcomposer.org/download/). En Linux y Mac OS X, se ejecutan los siguientes comandos:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
```bash
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
```
En Windows, tendrás que descargar y ejecutar [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
Por favor, consulta la [Documentación de Composer](https://getcomposer.org/doc/) si encuentras algún problema
o deseas obtener un conocimiento más profundo sobre su utilización.
Si ya tienes composer instalado asegurate que esté actualizado ejecutando `composer self-update`
Si ya tienes composer instalado, asegúrate de tener una versión actualizada. Puedes actualizar Composer
ejecutando el comando `composer self-update`
Teniendo Composer instalado, puedes instalar Yii ejecutando los siguientes comandos en un directorio accesible vía Web:
Nota: es posible que en al ejecutar el primer comando te pida tu username
composer global require "fxp/composer-asset-plugin:~1.1.1"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
```bash
composer global require "fxp/composer-asset-plugin:~1.1.1"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
```
El primer comando instala [composer asset plugin](https://github.com/francoispluchino/composer-asset-plugin/),
que permite administrar dependencias de paquetes bower y npm a través de Composer. Sólo necesitas ejecutar este comando
una vez. El segundo comando instala Yii en un directorio llamado `basic`. Puedes elegir un nombre de directorio diferente si así lo deseas.
El comando anterior instala Yii dentro del directorio `basic`.
> Note: Durante la instalación, Composer puede preguntar por tus credenciales de acceso de Github. Esto es normal ya que Composer
> necesita obtener suficiente límite de acceso de la API para traer la información de dependencias de Github. Para más detalles,
> consulta la [documentación de Composer](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens).
> Tip: Si quieres instalar la última versión de desarrollo de Yii, puedes utilizar el siguiente comando,
> que añade una [opción de estabilidad mínima](https://getcomposer.org/doc/04-schema.md#minimum-stability):
> Tip: Si quieres instalar la última versión de desarrollo de Yii, puedes utilizar uno de los siguientes comandos,
> que agregan una [opción de estabilidad](https://getcomposer.org/doc/04-schema.md#minimum-stability):
>
> composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
> ```bash
> composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
> ```
>
> Ten en cuenta que la versión de desarrollo de Yii no debería ser usada para producción ya que podría romper el funcionamiento actual de la aplicación.
> Ten en cuenta que la versión de desarrollo de Yii no debería ser utilizada en producción ya que podría romper tu código actual.
Instalando desde un Archivo Comprimido <span id="installing-from-archive-file"></span>
--------------------------------------
Instalar desde un Archivo Comprimido <span id="installing-from-archive-file"></span>
------------------------------------
Instalar Yii desde un archivo comprimido involucra dos pasos:
Instalar Yii desde un archivo comprimido involucra tres pasos:
1. Descargar el archivo desde [yiiframework.com](http://www.yiiframework.com/download/yii2-basic).
2. Descomprimirlo en un directorio accesible vía Web.
3. Modificar el archivo `config/web.php` introduciendo una clave secreta para el ítem de configuración `cookieValidationKey`
(esto se realiza automáticamente si estás instalando Yii a través de Composer):
```php
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'enter your secret key here',
```
Otras Opciones de Instalación <span id="other-installation-options"></span>
-----------------------------
Las instrucciones anteriores muestran cómo instalar Yii, lo que también crea una aplicación Web lista para ser usada.
Este es un buen punto de partida para pequeñas aplicaciones, o cuando apenas estás aprendiendo a utilizar Yii.
Este es un buen punto de partida para la mayoría de proyectos, tanto grandes como pequeños. Es especialmente adecuado si recién
estás aprendiendo a utilizar Yii.
Pero también hay otras opciones de instalación disponibles:
@ -65,45 +96,61 @@ Pero también hay otras opciones de instalación disponibles:
Verificando las Instalación <span id="verifying-installation"></span>
---------------------------
Después de la instalación, puedes acceder a la aplicación instalada a través de la siguiente URL:
Una vez finalizada la instalación, o bien configura tu servidor web (mira la sección siguiente) o utiliza
el [servidor web incluido en PHP](https://secure.php.net/manual/en/features.commandline.webserver.php) ejecutando el siguiente
comando de consola estando parado en el directorio `web` de la aplicación:
```bash
php yii serve
```
> Note: Por defecto el servidor HTTP escuchará en el puerto 8080. De cualquier modo, si el puerto está en uso o deseas
servir varias aplicaciones de esta manera, podrías querer especificar qué puerto utilizar. Sólo agrega el argumento --port:
```bash
php yii serve --port=8888
```
http://localhost/basic/web/index.php
Puedes utilizar tu navegador para acceder a la aplicación instalada de Yii en la siguiente URL:
```
http://localhost:8080/.
Esta URL da por hecho que Yii se instaló en un directorio llamado `basic`, directamente bajo el directorio del Servidor Web,
y que el Servidor Web está corriendo en tu máquina local (`localhost`). Sino, podrías necesitar ajustarlo de acuerdo a tu entorno de instalación.
![Instalación Correcta de Yii](images/start-app-installed.png)
Deberías ver la página mostrando "Congratulations!" en tu navegador. Si no ocurriera, por favor chequea que la instalación
de PHP satisface los requerimientos de Yii. Esto puedes hacerlo usando cualquiera de los siguientes procedimientos:
de PHP satisfaga los requerimientos de Yii. Esto puedes hacerlo usando cualquiera de los siguientes procedimientos:
* Visitando la URL `http://localhost/basic/requirements.php` en tu navegador
* Copiando `/requirements.php` a `/web/requirements.php` y visitando la URL `http://localhost/basic/requirements.php` en tu navegador
* Corriendo los siguientes comandos:
```
```bash
cd basic
php requirements.php
```
Deberías configurar tu instalación de PHP para que satisfaga los requisitos mínimos de Yii. Lo que es más importante,
debes tener PHP 5.4 o mayor. También deberías instalar la [Extensión de PHP PDO](http://www.php.net/manual/es/pdo.installation.php)
y el correspondiente driver de base de datos (como `pdo_mysql` para bases de datos MySQL), si tu aplicación lo necesitara.
Deberías configurar tu instalación de PHP para que satisfaga los requisitos mínimos de Yii. Lo que es más importante, debes tener PHP 5.4 o mayor.
También deberías instalar la [Extensión de PHP PDO](http://www.php.net/manual/es/pdo.installation.php) y el correspondiente driver de base de datos
(como `pdo_mysql` para bases de datos MySQL), si tu aplicación lo necesitara.
Configurar Servidores Web <span id="configuring-web-servers"></span>
-------------------------
Configurando Servidores Web <span id="configuring-web-servers"></span>
---------------------------
> Info: Puedes saltear esta sección por ahora si sólo estás probando Yii sin intención
de poner la aplicación en un servidor de producción.
> Info: Puedes saltear esta sección por ahora si sólo estás probando Yii sin intención de poner la aplicación en un servidor de producción.
La aplicación instalada siguiendo las instrucciones mencionadas debería estar lista para usar tanto
con un [servidor HTTP Apache](http://httpd.apache.org/) como con un [servidor HTTP Nginx](http://nginx.org/),
en Windows, Mac OS X, o Linux utilizando PHP 5.4 o mayor. Yii 2.0 también es compatible con [HHVM](http://hhvm.com/)
de Facebook. De todos modos, hay algunos casos donde HHVM se comporta diferente del
PHP oficial, por lo que tendrás que tener cuidados extra al utilizarlo.
La aplicación instalada debería estar lista para usar tanto con un [servidor HTTP Apache](http://httpd.apache.org/) como con un [servidor HTTP Nginx](http://nginx.org/),
en Windows, Mac OS X, o Linux.
En un servidor de producción, podrías querer configurar el servidor Web para que la aplicación sea accedida a través de la
URL `http://www.example.com/index.php` en vez de `http://www.example.com/basic/web/index.php`. Tal configuración
require apuntar el document root de tu servidor Web al directorio `basic/web`. También podrías querer ocultar `index.php`
de la URL, como se describe en la sección [Parseo y Generación de URLs](runtime-url-handling.md).
En un servidor de producción, podrías querer configurar el servidor Web para que la aplicación sea accedida
a través de la URL `http://www.example.com/index.php` en vez de `http://www.example.com/basic/web/index.php`. Tal configuración
require apuntar el document root de tu servidor Web a la carpeta `basic/web`. También podrías
querer ocultar `index.php` de la URL, como se describe en la sección [Parseo y Generación de URLs](runtime-url-handling.md).
En esta sub-sección, aprenderás a configurar tu servidor Apache o Nginx para alcanzar estos objetivos.
> Info: Al definir `basic/web` como document root, también previenes que los usuarios finales accedan
@ -120,29 +167,29 @@ la sección [Entorno de Hosting Compartido](tutorial-shared-hosting.md) para má
Utiliza la siguiente configuración del archivo `httpd.conf` de Apache dentro de la configuración del virtual host. Ten en cuenta
que deberás reemplazar `path/to/basic/web` con la ruta real a `basic/web`.
```
# Definir el document root de "basic/web"
```apache
# Definir el document root como "basic/web"
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
# utiliza mod_rewrite para soporte de URLs amigables
RewriteEngine on
# Si el directorio o archivo existe, utiliza el request directamente
# Si el directorio o archivo existe, utiliza la petición directamente
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Sino envía el request a index.php
# Sino, redirige la petición a index.php
RewriteRule . index.php
# ...s configuraciones...
# ...otras configuraciones...
</Directory>
```
### Configuración Recomendada de Nginx <span id="recommended-nginx-configuration"></span>
Deberías haber instalado PHP como un [FPM SAPI](http://php.net/install.fpm) para utilizar [Nginx](http://wiki.nginx.org/).
Utiliza la siguiente configuración de Nginx, reemplazando `path/to/basic/web` con la ruta real a `basic/web` y `mysite.local` con el
hostname real del servidor.
Para utilizar [Nginx](http://wiki.nginx.org/), debes instalar PHP como un [FPM SAPI](http://php.net/install.fpm).
Utiliza la siguiente configuración de Nginx, reemplazando `path/to/basic/web` con la ruta real a
`basic/web` y `mysite.local` con el hostname real a servir.
```
server {
@ -156,12 +203,12 @@ server {
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log main;
access_log /path/to/basic/log/access.log;
error_log /path/to/basic/log/error.log;
location / {
# Redireccionar a index.php todo lo que no sea un archivo real
try_files $uri $uri/ /index.php?$args;
try_files $uri $uri/ /index.php$is_args$args;
}
# descomentar para evitar el procesamiento de llamadas de Yii a archivos estáticos no existente
@ -171,9 +218,11 @@ server {
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi.conf;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {

Loading…
Cancel
Save