Error: Unable to guess the mime type as no guessers are available

9
feb

Hace tiempo que no publico nada, lo sé, pero esto enfrascado con el Symfony2 que, sinceramente…, no se si cada día me gusta más o lo odio más… jaja Es que cuanto más cosas puedes hacer… más cosas quieres hacer y con la poca documentación que hay hoy en día para algunas cosas… pero bueno se intentará poco a poco.

En este artículo quería comentar sobre un error que me acaba de dar “Unable to guess the mime type as no guessers are available”

Unable to guess the mime type

Es sencillo de solventar aún así Symfony2 en su inmensa sabiduría ya te dice cual es el error :) Has habilitado la extensión php_fileinfo? jeje Pues no, no la tenía habilitada.

Vamos a php.ini en mi caso dentro del directorio php de xampp y descomentamos (quitamos el ;) de la línea

extension=php_fileinfo.dll

Y como siempre reiniciamos el apache y listo. Ya está funcionando.

Cambiar el tamaño de la ventana cmd de Windows

10
ene

Y pensar que loa cabo de descubrir… bueno también tengo que decir que nunca me puse a mirar como se hacía simplemente pensaba algún día lo haré… jaja

Para cambiar el tamaño de la ventana cmd tan solo tenemos que pinchar en el icono de la ventana (arriba a la izquierda) y en el menú que aparece pulsar en predeterminados y en la pestaña diseño poner el tamaño que nos interese (en mi caso con resolución de 1200  tengo de ancho 156 (con 157 también valdría pero yo tengo dos pantallas y se pasa un poco)

Leer más »

Instalar PHPUnit en xampp y windows

3
ene

Siendo sincero esto de pasar test a las aplicaciones siempre lo vi una perdida de tiempo (igual era por la vagancia de hacerlo) pero estando leyendo opiniones creo que he llegado a la conclusión que si que va a ser muy útil sobre todo con lo manazas que soy de tocar una cosa y estropear cinco jaja, también hay que decir que eso me pasaba cuando programaba todo seguido sin clases ni nada… ya con el tiempo uno se va haciendo las metodologías adecuadas xD

Bueno a lo que iba, ya voy por el capítulo 11 de libro de Desarrollo Web Ágil con Symfony2 y para empezar con los test hay que instalar PHPUnit que en un principio me ha empezado a dar errores por todos lados y buscando en google la verdad que no encontraba nada decente y en el fondo no era tan complicado.

Leer más »

Libro en español de Symfony2

21
dic

A partir de mañana (bueno realmente hoy) 21 de diciembre a las 9:00 am podremos disfrutar de la versión electrónica del libro escrito por Javier Eguiluz Desarrollo web ágil con Symfony2.

Desde la web de symfony.es podremos adquirirlo al precio de 10€ que, personalmente, considero un precio irrisorio comparado con el trabajo que ha llevado el libro de más de 500 páginas.

Así que esta noche habrá que descansar para mañana estar en pie temprano para poder disfrutar de el. Buenas noches y hasta mañana :)

 

Debido a las entradas que he tenido hoy en mi web (que son muy pocas pero con una es suficiente) quiero comentar que son 10 míseros euros que se gastan en cualquier lado y si terminas desarrollando en symfony2 puede ser una inversión así que por favor dejar de buscarlo en pdf y comprarlo porque considero que el autor se lo merece … si pusiera los libros a 60€ como nos encontramos en España pues otro gallo cantaría jaja pero así… si un calimocho en una mierda de discoteca el otro día le costó a una amiga 9€!!! Eso sí, se pusieron chulitos porque pidieron el libro de reclamaciones y nos mandaron al portero diciendo que estábamos armando bronca… ahí fue ya cuando yo me metí por medio que llevaba 5 años con temas de informática en bares… y no cumplían ciertas obligaciones que debían de cumplir… y cuando sus amenazas se volvieron en su contra se tranquilizaron, pero manda huevos…teníamos que haber llamado a la policía… pero creo que tienen cosas mejores que hacer. A lo que iba… mejor gastarlos en el libro y no en tener broncas en los bares :)

Compatibilidad de navegadores para CSS3, HTML5

17
dic

Nuevas características de HTML5 y CSS3 entre otras, van apareciendo con el inconveniente de que no funcionan en todos los navegadores.

Una web donde podemos encontrar tablas con las distintas compatibilidades por navegadores es Can I Use  tanto en versiones antiguas como en versiones futuras.

Los navegadores que compara son:

  • IE (Sí, acepta al internet explorer como navegador)
  • Firefox
  • Chrome
  • Safari
  • Opera
  • iOS
  • Safari
  •  Opera Mini
  • Opera Mobile
  • Android Browser

Una buena web de consulta para nuestros desarrollos web.

[Parte 6] Pruebas: Unitarias y funcionales con PHPUnit

17
dic
Este post es la parte 6 de 6 del artículo: Symblog, como crear un blog en Symfony2

Debido a que la web de udelabs lleva varías semanas sin funcionar a petición de un par de usuarios me tomo la libertad de subir el tutorial traducido por ellos, quizás con alguna modificación que iba haciendo pero todos los méritos son de ellos.Tutorial en inglés 

Descripción

Hasta el momento hemos explorado una buena cantidad de la superficie, hemos visto una serie de conceptos básicos en cuanto al desarrollo con Symfony2. Antes de continuar agregando características es tiempo de presentarte las pruebas. Vamos a ver cómo comprobar distintas funciones con pruebas unitarias y cómo asegurarte de que múltiples componentes están funcionando correctamente, junto con las pruebas funcionales. Cubriremos la manera en que la biblioteca de pruebas PHPUnit de PHPestá en el centro de las pruebas de Symfony2. Debido a que el tema de las pruebas es un muy extenso, también lo trataremos en capítulos posteriores. Al final de este capítulo habrás escrito una serie de pruebas que abarcan tanto pruebas unitarias como funcionales. Tendrás que simular peticiones del navegador, poblar formularios con datos, y evaluar respuestas para verificar que las páginas del sitio se imprimen correctamente. También comprobaremos la cantidad del código base de tu aplicación que está cubierto por las pruebas.

Probando en Symfony2

PHPUnit Se ha convertido en el “estándar de facto” para escribir pruebas en PHP, por lo tanto su aprendizaje te beneficiará en todos tus proyectos PHP. Tampoco olvides que la mayoría de los temas tratados en este capítulo son independientes del lenguaje y por lo tanto los puedes transferir a otros lenguajes

Si estás pensando en escribir tus propios paquetes de código abierto para Symfony2, y si has probado (y documentado) tus paquetes; estos son mucho más propensos a recibir atención e interés por parte de otros programadores. Echa un vistazo a los paquetes de Symfony2 disponibles actualmente enSymfony2Bundles.

Leer más »

[Parte 5] Personalizando la vista: extensiones Twig, la barra lateral y Assetic

14
dic
Este post es la parte 5 de 6 del artículo: Symblog, como crear un blog en Symfony2

Debido a que la web de udelabs lleva varías semanas sin funcionar a petición de un par de usuarios me tomo la libertad de subir el tutorial traducido por ellos, quizás con alguna modificación que iba haciendo pero todos los méritos son de ellos.Tutorial en inglés 

Descripción

En este capítulo continuaremos construyendo la interfaz de usuario para symblog. Vamos a modificar la página inicial para mostrar información acerca de los comentarios de un blog publicado y abordaremos elSEO añadiendo el título del blog a la URL. También vamos a comenzar a trabajar en la barra lateral para agregar 2 componentes comunes en sitios de blog; La nube de etiquetas y comentarios recientes. Vamos a explorar los diferentes entornos con que contamos en Symfony2 y aprenderemos a manejar symblog en el entorno de producción. El motor de plantillas Twig será ampliado para proporcionar un nuevo filtro, e introduciremos Assetic para gestionar los archivos de activos del sitio web. Al final de este capítulo habremos integrado los comentarios a la página principal, tendremos una nube de etiquetas y el componente de comentarios recientes en la barra lateral y habremos utilizado Assetic para gestionar los archivos de nuestros activos web. También habremos visto cómo ejecutar symblog en el entorno de producción.

La página inicial — Blogs y Comentarios

Hasta ahora, la página inicial muestra las entradas más recientes del blog, pero no proporciona ninguna información respecto a los comentarios de los blogs. Ahora que hemos construido la entidad Comentariopodemos volver a la página inicial y proporcionarle esta información. Puesto que hemos establecido la relación entre las entidades Blog y Comentario sabemos que Doctrine 2 será capaz de recuperar los comentarios de un blog (recuerda que hemos añadido un miembro $comments a la entidad Blog). Actualicemos la plantilla de la vista de la página inicial situada ensrc/Blogger/BlogBundle/Resources/views/Page/index.html.twig con lo siguiente:

Leer más »

[Parte 4] El modelo de comentarios: repositorios y migraciones de Doctrine

11
dic
Este post es la parte 4 de 6 del artículo: Symblog, como crear un blog en Symfony2

Debido a que la web de udelabs lleva varías semanas sin funcionar a petición de un par de usuarios me tomo la libertad de subir el tutorial traducido por ellos, quizás con alguna modificación que iba haciendo pero todos los méritos son de ellos.Tutorial en inglés 

Descripción

En este capítulo construiremos sobre el modelo del blog que definimos en el capítulo anterior. Vamos a crear el modelo para los Comentarios, el cual cómo su nombre indica, se encargará de los comentarios de cada blog. Te presentaremos la creación de relaciones entre modelos, cómo puede un blog contener muchos Comentarios. Vamos a utilizar el Generador de consultas de Doctrine 2 y las clases Repositorio deDoctrine para recuperar entidades desde la base de datos. También exploraremos el concepto de Migraciones de Doctrine 2 que ofrece una forma programática para implementar cambios en la base de datos. Al final de este capítulo habrás creado el modelo del Comentario y lo habrás vinculado con el modelo del Blog. Además crearemos la página Inicial, y proporcionaremos la posibilidad de que los usuarios envíen comentarios para un blog.

La página Inicial

Vamos a comenzar este capítulo, construyendo la página inicial de la aplicación. Al estilo de un verdadero blogger mostraremos fragmentos de cada entrada del blog, ordenados del más reciente al más antiguo. La entrada completa del blog estará disponible a través de enlaces a la página que muestra el blog. Puesto que ya hemos construido la ruta, el controlador y la vista de la página, simplemente vamos a actualizarlas.

Leer más »

[Parte 3] El modelo del Blog: Usando Doctrine 2 y accesorio

11
dic
Este post es la parte 3 de 6 del artículo: Symblog, como crear un blog en Symfony2

Debido a que la web de udelabs lleva varías semanas sin funcionar a petición de un par de usuarios me tomo la libertad de subir el tutorial traducido por ellos, quizás con alguna modificación que iba haciendo pero todos los méritos son de ellos.Tutorial en inglés 

Descripción

En este capítulo comenzaremos a explorar el modelo del blog. Implementaremos el modelo con el Object Relation Mapper (ORM o Asignador Objeto↔Relacional) Doctrine 2Doctrine 2 nos proporciona la persistencia de nuestros objetos PHP. También proporciona un dialecto SQL llamado Doctrine Query Language (DQL o lenguaje de consulta doctrine). Además de Doctrine 2, también introduciremos el concepto de datos de prueba. Los datos de prueba (en adelante: accesorios) son un mecanismo para llenar nuestras bases de datos de desarrollo y probar con datos de prueba adecuados. Al final de este capítulo habrás definido el modelo del blog, actualizando la base de datos para reflejar el nuevo modelo, y creado algunos accesorios. También habremos construido las bases para la página show del blog.

Doctrine 2: El modelo

Para que funcione nuestro blog necesitamos una manera de guardar los datos. Doctrine 2 proporciona un ORM diseñado exactamente para este propósito. El ORM de Doctrine 2 se encuentra en lo alto de una potente Capa de abstracción de base de datos que nos da la abstracción de almacenamiento a través del PDO de PHP. Esto nos permite utilizar una serie de distintos motores de almacenamiento, incluyendoMySQLPostgreSQL y SQLite. Vamos a utilizar MySQL para nuestro motor de almacenamiento, pero, lo puedes sustituir por cualquier otro motor que desees.

Si no estás familiarizado con algún ORM, vamos a explicar su principio básico. La definición en Wikipedia dice:
“Object-relational mapping (ORM, O/RM, and O/R mapping) in computer software is a programming technique for converting data between incompatible type systems in object-oriented programming languages. This creates, in effect, a “virtual object database” that can be used from within the programming language.”
En la que las habilidades del ORM traducen desde datos de una base de datos relacional como MySQL en objetos PHP que podemos manipular. Esto nos permite encapsular la funcionalidad que necesitamos en una tabla dentro de una clase. Piensa en una tabla de usuarios, probablemente esta tenga campos como usernamepasswordfirst_namelast_nameemail y dob (siglas de day of birth o en Español “fecha de nacimiento”). Con un ORM esta se convierte en una clase con las propiedades usernamepasswordfirst_name, etc., que nos permite llamar a métodos tales como getUsername() y setPassword(). Los ORMvan mucho más allá de esto, sin embargo, también son capaces de recuperar tablas relacionadas para nosotros, ya sea al mismo tiempo que recupera el objeto usuario, o de manera diferida en el futuro. Ahora, consideremos que nuestro usuario tiene algunos amigos con los que está relacionado. Para ello deberíamos tener una tabla de amigos, almacenando la clave primaria de la tabla usuario dentro de ella. Usando elORM ahora podríamos hacer una llamada como $user->getFriends() para recuperar objetos de la tabla de amigos. Si eso no es suficiente, el ORM también se ocupa de guardarlos por lo tanto puedes crear objetos en PHP, llamar a un método como save() y permitir que el ORM se ocupe de los detalles de en realidad persistir los datos en la base de datos. Debido a que estamos usando el ORM de Doctrine 2, te familiarizarás mucho más con lo que es un ORM a medida que avancemos a través de esta guía.
Si bien en esta guía utilizaremos el ORM de Doctrine 2, puedes optar por usar la biblioteca Object Document Mapper (ODM o Asignador Objeto↔Documento) de Doctrine 2. Hay una serie de variaciones de esta biblioteca incluyendo implementaciones de MongoDB y CouchDB. Ve la página del Proyecto Doctrine para más información.
También hay un artículo en el recetario que explica cómo configurar el ODM con Symfony2.

Leer más »

[Parte 2] Página de contacto: Validadores, formularios y correo electrónico

10
dic
Este post es la parte 2 de 6 del artículo: Symblog, como crear un blog en Symfony2

Debido a que la web de udelabs lleva varías semanas sin funcionar a petición de un par de usuarios me tomo la libertad de subir el tutorial traducido por ellos, quizás con alguna modificación que iba haciendo pero todos los méritos son de ellos.Tutorial en inglés 

Descripción

Ahora que tenemos en su lugar las plantillas HTML básicas, es hora de hacer una de las páginas funcionales. Vamos a empezar con una de las páginas más simples; La página de Contacto. Al final de este capítulo tendrás una página de Contacto que permite a los usuarios enviar sus consultas al administrador del sitio. Estas consultas serán enviadas por correo electrónico al administrador del sitio.

En este capítulo cubriremos las siguientes áreas:

  1. Validadores
  2. Formularios
  3. Ajuste de los valores de configuración del paquete