jueves, 21 de agosto de 2014

Symfony 2, php, mysql y Wamp Server, Windows 8 (Instalando Symfony)


Esta entrada la cree porque voy empezar a realizar un proyecto utlizando las herramientas Symfony, php, mysql y Wamp Sever, por lo cual ire agreagando el progreso de la misma y las configuraciones necesarias que tendre que hacer para que funcione.  El sistema operativo que utilizare sera Windows 8.
Instalación de PHP y Mysql.
Lo primero que vamos hacer es instalar php y Mysql y para esto vamos a instalar Wamp Sever el cual ya provee tanto php como Mysql y tambien phpMyAdmin, y lo podemos bajar del siguiente enlace: descargar Wamp Sever para Windows 8

Instalación de Symfony:
Para la instalación de Symfony primero debemos instalar "Composer" el cual es un gestor de dependencias y contiene una base de datos online de muchas librerías desarrolladas por terceros a fin de centralizarlas en un repositorio llamado Packagist. Esto nos permite olvidarnos de descargar las librerías que queremos utilizar y almacenarlas dentro de nuestro proyecto base sino que a través de un archivo de configuración declaramos cuales son las librerías que nuestro proyecto necesita para funcionar y estas se descargaran y serán administradas por Composer y lo podemos descargar aqui: https://getcomposer.org/Composer-Setup.exe

Nota: Asegurarse que al instalar composer esten agregadas las extensiones de php_openssl lo debes hacer tanto desde el wamp server como editando el archivo C:\wamp\bin\php\php5.4.16\php.ini y quitandole el ";" a la linea    extension=php_openssl.dll. y desde wamp lo haces donde dice la imagen siguiente:
  


Para comprobar que composer esté funcionando bien puedes escribir en la consola la siguiente línea y si te devuelve el hash de la versión entonces está todo correcto.

C:\wamp\www> composer --version Composer version e43d0b5a5b8dec50464c907bf837e673f50e1de2
 
Ahora si procedermos a instalar Symfony en mi caso sera la versión 2.1.x-dev entonces
debemos correr la siguiente linea en nuestra linea de comandos estando dentro del
directorio donde publicare mi aplicación que en mi caso es C:\wamp\wwww :

C:\wamp\www> composer create-project symfony/framework-standard-edition seguridad 2.1.x-dev

En donde:
- create-project le dice a composer que cree un nuevo proyecto del tipo symfony/framework-standard-edition

- seguridad es el nombre o ruta donde se instalara el proyecto
- 2.1.x la version de symfony que sera descargada para este proyecto, en mi caso instalo la version 2.1.13 ya que la x hace que se descargue la version mas reciente.

 - Para comprobar la versión del framework que se esta usando se puede ejecutar lo siguiente:
              C:\wamp\www\seguridad>php app\console --version

Una vez termine de ejecutarse la setencia anterior esta tuvo que haber creado la siguinte
estructura en nuestra carpeta "seguridad" la cual es la estructar de nuestro proyecto con symfony



Para saber si nuestro servidor cuenta con todo lo necesario para soportar el framework podemos ejecutar el archivo check.php que se encuentra en la carpeta app/ del proyecto descargado de la siguiente manera (en mi caso con el proyecto creado):

c:\wamp\www\seguridad>php app\check.php
y esto deberá mostrar los siguientes datos:





Si vemos en nuestra consola que los requerimientos obligatorios tienen a la izquierda la palabra “OK” significa que está bien pero si vemos la palabra “ERROR” ese o esos requerimientos deberán ser solucionados.
Por ejemplo podemos ver los siguientes
  1. El primero chequea que la versión mínima de PHP sea la 5.3.3 si tienes una versión menor entonces tendrías que actualizarte.
  2. Hay otros dos que requieren que des permisos de escritura a las siguientes dos carpetas descargas: app/cache y app/logs
  3. Hay una que pude que en el php.ini se encuentre seteada la variable date.timezone. Si te marca error deberas ingresar al php.ini y asignarle un valor. Tienes que tener en cuenta que hay veces que deberías setear esto en dos archivos php.ini. Por ejemplo si utilizas Ubuntu o Debian deberías hacerlo para el cliente php (/etc/php5/cli/php.ini) y para el apache (/etc/php5/apache2/php.ini)
Ahora podemos probar nuestra pagina de bienvenida de Symfony poniendo la siguiente ruta en nuestro navegador:
                                    http://localhost/seguridad/web/app_dev.php
y nos debería de mostrar la siguiente pantalla:


Tambien podemos ver nuestro ambiente de producción poniendo la siguietne ruta en nuestro navegador:
            http://localhost/seguridad/web/app.php

NOTA: si no te funciona el ambiente de producción puedes intentar hacer lo siguiente:
1) borrar el cache: eliminando todo lo que este dentro de la carpeta  app/cache
2) si el punto 1 no arreglo el problema entonces tendras que hacer un cambio en el arhcivo web/app.php cambiando la línea:

$kernel = new AppKernel('prod', false);
por esta:
$kernel = new AppKernel('prod', true);





 




jueves, 25 de octubre de 2012

Submit en un input y select html


Para hacer que un formulario haga submit sin necesidad de un boton, en estos dos ejemplos lo haremos en un select (combo) y un input text:  el codigo es el siguiente:

en el caso de un select basta con incluir el evento onchange y esto hara que el formulario se refresque al cambiar un valor:

 <select name="cAnio" id="cAnio" onchange="fcalendario.submit()" >

en el caso de un input text basta con incluir el evento onblur y esto hara que el formulario se refresque al salir del input, el código es el siguiente:

<input type='text' id='tAnio' onblur="fcalendario.submit()">

en ambos casos el fcalendario es el nombre del formulario que estemos usando.