Luciano Baraglia
8 years ago
committed by
Carsten Brandt
2 changed files with 104 additions and 0 deletions
@ -0,0 +1,55 @@
|
||||
Crear tu propia estructura de Aplicación |
||||
======================================== |
||||
|
||||
> Note: Esta sección se encuentra en desarrollo. |
||||
|
||||
Mientras que los templates de proyectos [basic](https://github.com/yiisoft/yii2-app-basic) y [advanced](https://github.com/yiisoft/yii2-app-advanced) |
||||
son grandiosos para la mayoría de tus necesidades, podrías querer crear tu propio template de proyecto del cual |
||||
partir todos tus proyectos. |
||||
|
||||
Los templates de proyectos en Yii son simplemente repositorios conteniendo un archivo `composer.json`, y registrado como un paquete de Composer. |
||||
Cualquier repositorio puede ser identificado como paquete Composer, haciéndolo instalable a través del comando de Composer `create-project`. |
||||
|
||||
Dado que es un poco demasiado comenzar tu template de proyecto desde cero, es mejor utilizar uno de los |
||||
templates incorporados como una base. Utilicemos el template básico aquí. |
||||
|
||||
Clonar el Template Básico |
||||
------------------------- |
||||
|
||||
El primer paso es clonar el template básico de Yii desde su repositorio Git: |
||||
|
||||
```bash |
||||
git clone git@github.com:yiisoft/yii2-app-basic.git |
||||
``` |
||||
|
||||
Entonces espera que el repositorio sea descargado a tu computadora. Dado que los cambios realizados al template no serán enviados al repositorio, puedes eliminar el directorio `.git` |
||||
y todo su contenido de la descarga. |
||||
|
||||
Modificar los Archivos |
||||
---------------------- |
||||
|
||||
A continuación, querrás modificar el archivo `composer.json` para que refleje tu template. Cambia los valores de `name`, `description`, `keywords`, `homepage`, `license`, y `support` |
||||
de forma que describa tu nuevo template. También ajusta las opciones `require`, `require-dev`, `suggest`, y demás para que encajen con los requerimientos de tu template. |
||||
|
||||
> Note: En el archivo `composer.json`, utiliza el parámetro `writable` (bajo `extra`) para especificar |
||||
> permisos-por-archivo a ser definidos después de que la aplicación es creada a partir del template. |
||||
|
||||
Luego, pasa a modificar la estructura y contenido de la aplicación como te gustaría que sea por defecto. Finalmente, actualiza el archivo README para que sea aplicable a tu template. |
||||
|
||||
Hacer un Paquete |
||||
---------------- |
||||
|
||||
Con el template definido, crea un repositorio Git a partir de él, y sube tus archivos ahí. Si tu template va a ser de código abierto, [Github](http://github.com) es el mejor lugar para alojarlo. Si tu intención es que el template no sea colaborativo, cualquier sitio de repositorios Git servirá. |
||||
|
||||
Ahora, necesitas registrar tu paquete para Composer. Para templates públicos, el paquete debe ser registrado en [Packagist](https://packagist.org/). |
||||
Para templates privados, es un poco más complicado registrarlo. Puedes ver instrucciones para hacerlo en la [documentación de Composer](https://getcomposer.org/doc/05-repositories.md#hosting-your-own). |
||||
|
||||
Utilizar el Template |
||||
-------------------- |
||||
|
||||
Eso es todo lo que se necesita para crear un nuevo template de proyecto Yii. Ahora puedes crear tus propios proyectos a partir de este template: |
||||
|
||||
``` |
||||
composer global require "fxp/composer-asset-plugin:~1.1.1" |
||||
composer create-project --prefer-dist --stability=dev mysoft/yii2-app-coolone new-project |
||||
``` |
@ -0,0 +1,49 @@
|
||||
Usar motores de plantillas |
||||
========================== |
||||
|
||||
Por defecto, Yii utiliza PHP como su lenguaje de plantilla, pero puedes configurar Yii para que soporte otros motores de renderizado, tal como |
||||
[Twig](http://twig.sensiolabs.org/) o [Smarty](http://www.smarty.net/), disponibles como extensiones. |
||||
|
||||
El componente `view` es el responsable de renderizar las vistas. Puedes agregar un motor de plantillas personalizado reconfigurando |
||||
el comportamiento (behavior) de este componente: |
||||
|
||||
```php |
||||
[ |
||||
'components' => [ |
||||
'view' => [ |
||||
'class' => 'yii\web\View', |
||||
'renderers' => [ |
||||
'tpl' => [ |
||||
'class' => 'yii\smarty\ViewRenderer', |
||||
//'cachePath' => '@runtime/Smarty/cache', |
||||
], |
||||
'twig' => [ |
||||
'class' => 'yii\twig\ViewRenderer', |
||||
'cachePath' => '@runtime/Twig/cache', |
||||
// Array de opciones de Twig: |
||||
'options' => [ |
||||
'auto_reload' => true, |
||||
], |
||||
'globals' => ['html' => '\yii\helpers\Html'], |
||||
'uses' => ['yii\bootstrap'], |
||||
], |
||||
// ... |
||||
], |
||||
], |
||||
], |
||||
] |
||||
``` |
||||
|
||||
En el código de arriba, tanto Smarty como Twig son configurados para ser utilizables por los archivos de vista. Pero para tener ambas extensiones en tu proyecto, también necesitas modificar |
||||
tu archivo `composer.json` para incluirlos: |
||||
|
||||
``` |
||||
"yiisoft/yii2-smarty": "*", |
||||
"yiisoft/yii2-twig": "*", |
||||
``` |
||||
Ese código será agregado a la sección `require` de `composer.json`. Después de realizar ese cambio y guardar el archivo, puedes instalar estas extensiones ejecutando `composer update --prefer-dist` en la línea de comandos. |
||||
|
||||
Para más detalles acerca del uso concreto de cada motor de plantillas, visita su documentación: |
||||
|
||||
- [Guía de Twig](https://github.com/yiisoft/yii2-twig/tree/master/docs/guide) |
||||
- [Guía de Smarty](https://github.com/yiisoft/yii2-smarty/tree/master/docs/guide) |
Loading…
Reference in new issue