Aplicaci贸n de prueba Cupon para Symfony 2.8
Cupon es una aplicaci贸n de prueba desarrollada para aprender a programar con Symfony 2.8. Se trata de un clon simplificado de Groupon, de ah铆 el nombre. Esta aplicaci贸n es la base del libro Desarrollo web 谩gil con Symfony publicado por Javier Eguiluz.
Si descubres alg煤n error, por favor utiliza la p谩gina de issues de Github para avisarnos.
Instalando la aplicaci贸n
En el libro Desarrollo web 谩gil con Symfony se expica detalladamente c贸mo instalar bien Symfony y la aplicaci贸n Cupon. A continuaci贸n s贸lo se indican los principales pasos necesarios.
En primer lugar debes tener Composer instalador globalmente. Si utilizas Linux o Mac OS X, ejecuta los siguientes comandos:
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
Si utilizas Windows, desc谩rgate el instalador ejecutable de Composer y sigue los pasos indicados por el instalador.
Una vez instalado Composer, ejecuta los siguientes comandos para descargar e instalar la aplicaci贸n Cupon:
# clona el c贸digo de la aplicaci贸n
$ cd proyectos/
$ git clone git://github.com/javiereguiluz/Cupon.git
# instala las dependencias del proyecto (incluyendo Symfony)
$ cd Cupon/
$ composer install
Probando la aplicaci贸n
La forma m谩s sencilla de probar la aplicaci贸n, ejecuta el siguiente comando, que arranca el servidor web interno de PHP y hace que tu aplicaci贸n se pueda ejecutar sin necesidad de usar Apache o Nginx:
$ php app/console server:run
Server running on http://localhost:8000
Ahora ya puedes abrir tu navegador y acceder a http://localhost:8000
para
probar la aplicaci贸n.
El comando anterior requiere PHP 5.4. Si utilizas una versi贸n anterior de PHP, tendr谩s que configurar un virtual host en tu servidor web, tal y como se explica con detalle en el libro.
Soluci贸n a los problemas comunes
Al empezar a programar con Symfony, es com煤n no saber la causa exacta de algunos de los errores que se producen. En estos casos es 煤til borrar la cach茅 de la aplicaci贸n ejecutando los siguientes comandos:
- Entorno de desarrollo:
php app/console cache:clear
- Entorno de producci贸n:
php app/console cache:clear --env=prod
Si a煤n as铆 siguen persistiendo los errores, al principio tambi茅n suele ser 煤til
borrar completamente los directorios dentro de app/cache/
(por ejemplo con el
comando rm -fr app/cache/*
).
1. Si solamente ves una p谩gina en blanco, es posible que se trate de un problema de permisos. En el libro se explica detalladamente c贸mo solucionarlo, pero una soluci贸n r谩pida puede ser ejecutar el siguiente comando:
$ cd proyectos/Cupon/
$ chmod -R 777 app/cache app/logs
Si no te funciona esta soluci贸n, tambi茅n puedes consultar el art铆culo [C贸mo solucionar el problema de los permisos de Symfony](http://symfony.es/documentacion/como-solucionar-el-problema-de-los- permisos-de-symfony2/).
2. Si ves un error relacionado con la base de datos, es posible que tu instalaci贸n de PHP no tenga instalada o activada la extensi贸n para SQLite.
Para facilitar la instalaci贸n de la aplicaci贸n, SQLite se usa por defecto. Si prefieres usar una base de datos como MySQL, sigue estos pasos:
- Edita el archivo
app/config/parameters.yml
comentando todo lo relacionado con SQLite y descomentando todo lo relacionado con MySQL. - Edita el archivo
app/config/config.yml
y en la secci贸ndbal
, comenta todo lo relacionado con SQLite y descomenta todo lo relacionado con MySQL. - Ejecuta los siguientes comandos para crear la base de datos y rellenarla con datos de prueba:
$ php app/console doctrine:database:create
$ php app/console doctrine:schema:create
$ php app/console doctrine:fixtures:load
# si este 煤ltimo comando da error, ejecuta en su lugar:
$ php app/console doctrine:fixtures:load --append
# si est谩s desarrollando la aplicaci贸n desde cero, ejecuta lo siguiente
# para cargar los datos de prueba simplificados que no utilizan la seguridad
$ php app/console doctrine:fixtures:load --fixtures=app/Resources
3. Si no puedes subir im谩genes al crear una oferta
Aseg煤rate de que el directorio web/uploads/images/
tiene permisos de escritura.
Test unitarios y funcionales
La aplicaci贸n incluye varios test unitarios y funcionales de ejemplo. Para ejecutarlos debes tener la herramienta PHPUnit instalada. Despu茅s, ejecuta el siguiente comando en el directorio ra铆z del proyecto:
$ phpunit -c app
Frontend
- URL:
- Entorno de desarrollo:
http://localhost:8000
- Entorno de producci贸n:
http://localhost:8000/app.php
- Entorno de desarrollo:
- Credenciales de usuarios:
- Nombre de usuario:
usuarioN@localhost
siendoN
un n煤mero entre1
y100
- Contrase帽a:
usuarioN
siendoN
el mismo valor que el del nombre de usuario
- Nombre de usuario:
Extranet
- URL:
- Entorno de desarrollo:
http://localhost:8000/extranet
- Entorno de producci贸n:
http://localhost:8000/app.php/extranet
- Entorno de desarrollo:
- Credenciales de usuarios:
- Nombre de usuario:
tiendaN
siendoN
un n煤mero entre1
y80
aproximadamente (el l铆mite superior es aleatorio) - Contrase帽a: la misma que el nombre de usuario
- Nombre de usuario:
Backend
- URL:
- Entorno de desarrollo:
http://localhost:8000/backend
- Entorno de producci贸n:
http://localhost:8000/app.php/backend
- Entorno de desarrollo:
- Credenciales de usuarios:
- Nombre de usuario:
admin
- Contrase帽a:
1234
- Nombre de usuario: