• Stars
    star
    315
  • Rank 132,951 (Top 3 %)
  • Language
    PHP
  • License
    Other
  • Created about 13 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Aplicaci贸n de prueba para aprender a programar con Symfony2

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:

  1. Edita el archivo app/config/parameters.yml comentando todo lo relacionado con SQLite y descomentando todo lo relacionado con MySQL.
  2. Edita el archivo app/config/config.yml y en la secci贸n dbal, comenta todo lo relacionado con SQLite y descomenta todo lo relacionado con MySQL.
  3. 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
  • Credenciales de usuarios:
    • Nombre de usuario: usuarioN@localhost siendo N un n煤mero entre 1 y 100
    • Contrase帽a: usuarioN siendo N el mismo valor que el del nombre de usuario

Extranet

  • URL:
    • Entorno de desarrollo: http://localhost:8000/extranet
    • Entorno de producci贸n: http://localhost:8000/app.php/extranet
  • Credenciales de usuarios:
    • Nombre de usuario: tiendaN siendo N un n煤mero entre 1 y 80 aproximadamente (el l铆mite superior es aleatorio)
    • Contrase帽a: la misma que el nombre de usuario

Backend

  • URL:
    • Entorno de desarrollo: http://localhost:8000/backend
    • Entorno de producci贸n: http://localhost:8000/app.php/backend
  • Credenciales de usuarios:
    • Nombre de usuario: admin
    • Contrase帽a: 1234