lunes, 14 de noviembre de 2011

Generar modelo BD

Con la base de datos creada en XAMMP y configurada en el archivo databases.yml se debe generar el archivo schema.yml manualmente(con todo el esquema de base de datos) en la carpeta de configuración del proyecto o generarlo ejecutando el siguiente comando:

  • php symfony propel:build-schema
Ahora se generan las sentencias sql asociadas al esquema ejecutando
  • php symfony propel:build --sql
Para crear las tablas en la base de datos se ejecuta
  • php symfony propel:insert-sql
Para generar las clases php que mapean los registros en objetos
  • php symfony propel:build --model
Con esta línea se resumen los pasos anteriores
php symfony propel:build --all --no-confirmation
php symfony doctrine:build --all --no-confirmation

Como Instalar


  • Instalar XAMMP, WAMP, easy PHP o similar en el equipo
  • Agregar la siguiente línea al final de la variable de entorno PATH: c\xampp\php\PEAR\symfony;C:\xampp\mysql\bin;C:\xampp\php\PEAR;C:\xampp\php;
  • Generar la carpeta del proyecto. Dentro de esta carpeta crear la siguiente estructura lib/vendor
  • Descomprimir dentro de la carpeta vendor el zip de instalación de symfony. Renombrar la carpeta a symfony
  • verificar la instalación ubicándose en la raíz de la carpeta de proyecto en la consola y ejecutar php lib\vendor\symfony\data\bin\symfony -V
  • Crear el proyecto c:\> php lib\vendor\symfony\data\bin\symfony generate:project jobeet --orm=Propel o de manera alternativa copiar el yml (con la base de datos) y ejecutar php symfony doctrine:build --all --no-confirmation.
  • Crear la aplicación php symfony generate:app frontend y php symfony generate:app backend
  • Opcional copiar symfony.bat al proyecto para evitar escribir php symfony y escribir solo symfony para estos ejecute copy lib\vendor\symfony\data\bin\symfony.bat
  • Symfony solo modifica archivos en las carpetas cache/ and log/ y el usuario solo debería poder ver lo contenido en la carpeta web o html según se nombre.
  • Modificar la ruta de acceso a la carpeta de instalación de simfony para que se pueda cambiar la carpeta del proyecto a cualquier locación la ruta del archivo es: config/ProjectConfiguration.class.php cambiar de require_once '/Users/fabien/work/symfony/dev/1.2/lib/autoload/sfCoreAutoload.class.php';require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';

  • Modificar el archivo de configuración de apache httpd.conf 
en linux en una intalación de XAMMP se encuentra en la carpeta /opt/lampp/etc


  • y escribir las siguientes líneas
# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080

# This is the configuration for your project
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
  DocumentRoot "C:/Desarrollo/WS/jobeet/web"    
  DirectoryIndex index.php
  <Directory "C:/Desarrollo/WS/jobeet/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf C:/Desarrollo/WS/jobeet/lib/vendor/symfony/data/web/sf
  <Directory "C:/Desarrollo/WS/jobeet/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>
 A cada proyecto se le asigna un puerto.. se recomiendo que se usen puertos mayores al 1024

  • Probar el acceso ingresando en el navegador http://localhost:8080/index.php/ o  http://localhost:8080/ si se tiene la configuracion adecuada de apache.
  • Ingresar a http://localhost:8080/frontend_dev.php 
  • plugins php symfony plugin:publish-assets

domingo, 13 de noviembre de 2011

Comandos Rápidos

limpiar cache: Ubicarse en la ruta de  la carpeta y ejecutar symfony cc
cd C:\Desarrollo\WS\hc
symfony cc

routing.yml  archivo donde se definen las rutas
Para probar: http://localhost:8081/frontend_dev.php/

Modulo: carpeta
vista: template

modelo (libreria) 
vista (template)
controlador (controla la logica de negocios) base de datos

Linea para debug http://localhost:8081/frontend_dev.php/menu/estandar/tipo/6
$this->setTemplate("estandar");   



menu_lateral_div_current  


//habilitando el acceso en el servidor apache
modificar el archivo C:\xampp\apache\conf\httpd.conf

/////creando el proyecto
copiar el yml y ejecutar
php symfony doctrine:build --all --no-confirmation
//generar modulo
php symfony doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJob

//generar backend
php symfony doctrine:generate-admin backend JobeetJob --module=job

//instalar pluggin
symfony plugin:install sfFormExtraPlugin

// imprimir tilder
utf8_decode()


template por defecto para varios sitios:
cambiar la configuracion del archivo view.yml

Instalación

limpiar cache: Ubicarse en la ruta de  la carpeta y ejecutar symfony cc
cd C:\Desarrollo\WS\hc
symfony cc

routing.yml  archivo donde se definen las rutas
Para probar: http://localhost:8081/frontend_dev.php/

Modulo: carpeta
vista: template

modelo (libreria) 
vista (template)
controlador (controla la logica de negocios) base de datos

Linea para debug http://localhost:8081/frontend_dev.php/menu/estandar/tipo/6
$this->setTemplate("estandar");   



menu_lateral_div_current  


//habilitando el acceso en el servidor apache
modificar el archivo C:\xampp\apache\conf\httpd.conf

/////creando el proyecto
copiar el yml y ejecutar
php symfony doctrine:build --all --no-confirmation
//generar modulo
php symfony doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJob

//generar backend
php symfony doctrine:generate-admin backend JobeetJob --module=job

//instalar pluggin
symfony plugin:install sfFormExtraPlugin

// imprimir tilder
utf8_decode()


template por defecto para varios sitios:
cambiar la configuracion del archivo view.yml