Skeleton Application es un aplicación simple basada en ZF3 que contiene las cosas más necesarias para crear nuestro sitio web.
El código de Skeleton Application está guardado en el servicio de alojamiento de código GitHub y es accesible públicamente por medio de este enlace. Sin embargo generalmente no descargamos el código fuente de la aplicación esqueleto directamente sino que usamos el administrador de dependencias Composer, como se muestra abajo:
Primero necesitamos conseguir la última versión de Composer. Podemos hacer esto con los siguientes comandos:
cd ~
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Con los comandos de arriba cambiamos la carpeta de trabajo colocándonos en la
carpeta home, descargamos el script de instalación composer-setup.php
en la
carpeta actual, lo ejecutamos y finalmente borramos el instalador.
Una vez que ejecutamos los comandos de arriba tendremos el archivo
composer.phar
en nuestra carpeta de trabajo.
Ahora escribimos el siguiente comando en la consola de comandos:
php composer.phar create-project -sdev zendframework/skeleton-application helloworld
El comando de arriba descarga la Zend Skeleton Application en la carpeta
helloworld
y ejecuta su instalador interactivo. Deberemos responder varias
preguntas de tipo yes/no escribiendo y
o n
y presionando Enter. Las
respuestas ayudaran al instalador a determinar que dependencias instalar.
Si no sabemos que responder podemos respondamos n
(no), luego podremos instalar
dependencias adicionales en cualquier momento.
Para comenzar podemos responder de la siguiente manera:
Do you want a minimal install (no optional packages)? Y/n
n
Would you like to install the developer toolbar? y/N
n
Would you like to install caching support? y/N
n
Would you like to install database support (installs zend-db)? y/N
n
Would you like to install forms support? y/N
y
Will install zendframework/zend-mvc-form (^1.0)
When prompted to install as a module, select application.config.php or modules.config.php
Would you like to install JSON de/serialization support? y/N
n
Would you like to install logging support? y/N
n
Would you like to install MVC-based console support? (We recommend migrating to zf-console, symfony/console, or Aura.CLI) y/N
n
Would you like to install i18n support? y/N
n
Would you like to install the official MVC plugins, including PRG support, identity, and flash messages? y/N
n
Would you like to use the PSR-7 middleware dispatcher? y/N
n
Would you like to install sessions support? y/N
n
Would you like to install MVC testing support? y/N
n
Would you like to install the zend-di integration for zend-servicemanager? y/N
n
Una vez que respondimos las preguntas el instalador descargará e instalará todos los paquetes necesarios y nos preguntará en que archivo de configuración queremos inyectar la información sobre los módulos instalados. Cuando veamos el cursor escribimos '1' y presionamos Enter:
Please select which config file you wish to inject 'Zend\Form' into:
[0] Do not inject
[1] config/modules.config.php
[2] config/development.config.php.dist
Make your selection (default is 0):1
Remember this option for other packages of the same type? (y/N) y
Luego el instalador nos preguntará si queremos borrar el archivo de control de versiones del proyecto. Como nosotros probablemente guardaremos la aplicación web en nuestro propio sistema de control de versiones (como Git) no necesitaremos los archivos existentes, entonces escribimos 'y' y presionamos Enter:
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? y
Ahora copiamos el archivo composer.phar
en la nueva carpeta helloworld
:
cp composer.phar helloworld
El último paso y muy importante es habilitar el development mode escribiendo el siguiente comando:
cd helloworld
php composer.phar development-enable
El modo de desarrollo se usa típicamente cuando desarrollamos nuestra aplicación. Cuando habilitamos el modo de desarrollo se crean archivos de configuración adicionales en nuestra carpeta
config
de la aplicación web. En este modo nuestra aplicación puede cargar opcionalmente módulos de "desarrollo". Además, en este modo la configuración de la cache está deshabilitada lo que nos permite cambiar los archivos de configuración del sitio web y ver los cambios inmediatamente.Una vez que hemos terminado el desarrollo podemos habilitar el modo de producción escribiendo lo siguiente:
php composer.phar development-disable
¡Muy bien! El trabajo duro está terminado. Ahora vamos a ver el contenido de
la carpeta helloworld
.