From 04835e5a339e7336fdee020b3624d039e37c5559 Mon Sep 17 00:00:00 2001 From: Luciano Baraglia Date: Tue, 24 May 2016 13:51:55 -0300 Subject: [PATCH] Some spanish docs updates [skip ci] (#11621) --- docs/guide-es/helper-url.md | 71 ++++++++----- docs/guide-es/start-installation.md | 159 ++++++++++++++++++---------- 2 files changed, 151 insertions(+), 79 deletions(-) diff --git a/docs/guide-es/helper-url.md b/docs/guide-es/helper-url.md index e834f3f8f8..ad5f923a61 100644 --- a/docs/guide-es/helper-url.md +++ b/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 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 + +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¶m1=value1¶m2=value2 +// genera: /index.php?r=site%2Findex¶m1=value1¶m2=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 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 -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'); diff --git a/docs/guide-es/start-installation.md b/docs/guide-es/start-installation.md index ddf1d82d7e..00799b0cc8 100644 --- a/docs/guide-es/start-installation.md +++ b/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 +Installing via Composer ------------------------------- 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 comando anterior instala Yii dentro del directorio `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. -> 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): +> 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 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 --------------------------------------- +Instalar desde un Archivo Comprimido +------------------------------------ -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 ----------------------------- 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 --------------------------- -Después de la instalación, puedes acceder a la aplicación instalada a través de la siguiente URL: - -``` -http://localhost/basic/web/index.php +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 ``` -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. +> 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 +``` + +Puedes utilizar tu navegador para acceder a la aplicación instalada de Yii en la siguiente URL: + +``` +http://localhost:8080/. + ![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. -Configurando Servidores Web ---------------------------- +Configurar Servidores Web +------------------------- -> 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 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. +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. -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" + # 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 - # ...más configuraciones... + # ...otras configuraciones... ``` ### Configuración Recomendada de Nginx -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) {