Entradas

Mostrando entradas de mayo, 2014

Funciones actualizadas en PHP 5.5

Imagen
En un post anterior vimos las nuevas funcionalidades que PHP 5.5 introduce , en este vamos a ver cambios que se han hecho en funciones ya existentes como por ejemplo la combinación de foreach y list, las mejoras en la función empty, el comportamiento de unpack y la eliminaciones de funciones previamente deprecadas. Combinando foreach con list Como desarrollador, una de las tareas comunes que veo de forma regular es el uso de loops en un conjunto de resultados. Dependiendo de las circunstancias, es posible que tenga que asignar un grupo de variables a valores de propiedades o valores de una matriz. Hasta este momento ha sido un proceso manual, pero en PHP 5.5 es posible asignar estos valores directamente utilizando la función list. Esto me permite recorrer el vector y desempacar matrices anidadas en variables en un bucle. Solo hay una limitación, no puedo utilizar la lista como un elemento clave. Quedaría algo como este foreach($row as list($var1, $var2)). Comprobar cualquier cosa

jQuery Mobile primeras impresiones

Imagen
Hoy he tenido que desarrollar una aplicación sencilla para móviles y aprovechando uno de los cursos online de lynda.com he decidido poner en práctica lo que sabía de jQuery Mobile y estas son mis primeras impresiones. Documentación Esto es lo primero que me chocó, la documentación de jQuery Mobile es mucho más deficiente a lo que nos tiene acostumbrado jQuery en sus dos grandes proyectos, incluso con incoherencias o falta de datos en algunos temas como la función jqmData (algo equivalente al data de jQuery). Algunos aspectos me parecían difíciles de entender, los ejemplos poco claros y los códigos fuente con falta de información. Temas Lo de los temas es otro mundo, en una misma distribución de jQuery Mobile utilizas varios temas y la personalización de estos si bien es muy similar a jQuery UI no me ha quedado del todo claro. Comportamiento Lo que peor llevo es cómo funciona jQuery Mobile, es totalmente diferente a jQuery, todo se basa en atributos data que son los encargado

Firefox Error code: sec_error_unknown_issuer

Si cada vez que intentas acceder a una web con conexión segura SSL bajo https y te da el error This Connection is Untrusted es altamente probable que tu antivirus tenga algo que ver. En la siguiente imagen vemos el error al entrar acceder a la página principal de Facebook: es-es.facebook.com uses an invalid security certificate. The certificate is not trusted because no issuer chain was provided. (Error code: sec_error_unknown_issuer) Para corregir esto debemos ver el origen del error, el por qué. Pulsamos el botón para añadir una excepción que se encuentra debajo la parte inferior de la ventana al pulsar en entiendo los riesgos. En esta nueva ventana pulsaremos el botón para ver el certificado. Allí nos mostrará toda la información relacionada con el certificado de seguridad y podremos seguramente sacar el origen del error, en mi caso por ejemplo si. Lo que me llamó la atención es que estuviese el nombre de mi antivirus asociado al certificado con lo cual haciendo una b

TeamViewer 9 y el reinicio en modo seguro

TeamViewer es la aplicación por excelencia para el control remoto de ordenadores, gratis para uso no comercial, y entre sus funcionalidades esta forzar el reinicio del ordenador asociado en modo seguro (safe mode) con funciones de red . Pero cuidado, si no configuramos correctamente luego nuestro ordenador, este no volverá a reiniciarse ni iniciarse de manera normal porque TeamViewer sobre escribe los datos de inicio de nuestro sistema operativo, para cambiarlo basta con ejecutar msconfig y quitar el check en la pestaña de Arranque al Arranque a prueba de fallos. Espero que os sirva y no tengáis que buscar tantos manuales como yo por el reinicio en bucle de Windows en modo seguro (safe mode) . Yo lo he probado en un Windows 7 SP1 supongo que el resto sean igual.

Nuevas funcionalidades en PHP 5.5

Una vez que hemos visto todas las ventajas que nos puede traer PHP 5.4 y sabiendo que esta no es la última versión estable sería interesante ver cuáles son las ventajas de esta para una vez decididos migrar optemos por una u otra. Generadores Una de las necesidades de programación más comunes, es ser capaz de realizar una acción sobre todos los elementos de un objeto. Por ejemplo, usando un foreach en una matriz, para obtener cada clave o, un foreach sobre un objeto, para obtener el nombre de cada parámetro y su valor. El mecanismo para la aplicación de este comportamiento es conocido como un iterador, que se utiliza para recorrer todos los elementos de un objeto o una matriz. Los iteradores se pueden definir de forma explícita con clases personalizadas, pero eso puede ser un proceso difícil de manejar y complejo, con apaños y, más que un puñado de funciones. ¿Qué pasa si quiero actuar en un subconjunto de una matriz, y realizar algo de lógica a medida que avanzo, pero aún así ser

Problemas de espacio en Windows 8.1

Imagen
Realmente todas las posibles causas de aumento descontrolado del espacio ocupado en el disco duro que voy a tratar aquí se pueden aplicar a cualquier sistema Windows, incluso en los casos de software a cualquier sistema que los tenga instalado. Las pruebas siguientes fueron hechas en 2 ordenadores con Windows 8.1 y con discos duros limitados en espacio con lo cual cada GB cuenta, es por ello que he decido monitorearlos porque me parecían demasiados los recursos que se estaban consumiendo, lamentablemente en la mayoría de los casos no hay mucho que hacer, pero, primero a lo primero. Para monitorizar el espacio ocupado por cada carpeta he decidido utilizar la herramienta basa en Java, JDiskReport , y digo basada en Java porque necesitaremos la máquina virtual de este lenguaje para poder ejecutarla, generalmente se agrega la ubicación de Java al PATH de sistema pero en caso de que no se encuentre el archivo javaw.exe lo encontraremos en C:\Program Files (x86)\Java\jre7\bin. Una vez

CentOS 6.5 con Hyper-V

Imagen
Instalar CentOS 6.5 con Hyper-V es igual a crear una máquina virtual cualquiera en Hyper-V y luego seguir la instalación de CentOS 6.5 paso a paso . El único problema que nos puede dar es que antes de crear cualquier máquina virtual tenemos que crear un switch (conmutador) virtual para que tanto nuestro equipo como el equipo virtual se comuniquen con internet (o también puede ser una red interna si no necesitamos salida a internet en el equipo virtual). Configurar un switch virtual para el acceso a internet en Hyper-V Existe un asistente para crear estos conmutadores virtuales En la nueva ventana elegimos el nombre y seleccionamos el dispositivo físico de red al que nos queremos conectar. Nos saltará un mensaje de alerta que vamos a perder la conectividad pero le damos aceptar y esperamos que lo instale. Con estos tutoriales que pongo de enlace al principio y estas recomendaciones para crear el switch virtual no creo que tengáis ningún problema creando un CentOS 6.5 u otro sis

Virtualización con Hyper-V en Windows 8.1

Imagen
Tanto en Windows 8 como Windows 8.1 disponemos de acceso a la plataforma de Hyper-V y sus herramientas de administración. Esta característica no viene instalada por defecto aunque si por algún casual hemos instalado previamente Visual Studio Ultimate 2013 en el proceso de instalación se instala Hyper-V y una máquina virtual para probar aplicaciones móviles con Windows Phone. Bueno, volviendo al tema, aquí os dejo una excelente guía para instalar Hyper-V en Windows 8 , totalmente válida para Windows 8.1. Si bien es cierto que puede que todo no sea un camino de rosas a veces, si por ejemplo no puedes marcar la opción: Plataforma de Hyper-V , y, al ponerte sobre ella sale el mensaje: No se puede instalar Hyper-V: la compatibilidad con la virtualización esta deshabilitada en el firmware ; es muy probable que lo tengas deshabilitado en la BIOS. Para comprobar si tu sistema efectivamente soporta la virtualización tenemos la herramienta coreinfo que hay que ejecutarla como administrador en

¿Herencia múltiple en PHP 5.4?

Imagen
La herencia es uno de los elementos clave de la programación orientada a objetos . Existen la herencia múltiple , herencia simple y la herencia horizontal , dependiendo del número de clases que una clase puede heredar o incluir. La herencia simple es la más sencilla y legible, pero restrictiva. La herencia múltiple en cambio es compleja, pero permite una definición más natural de las relaciones entre las clases. La herencia horizontal es un nuevo concepto introducido con PHP 5.4, a mi entender un parche, que permite a este lenguaje de herencia simple reutilizar código. Los lenguajes de programación orientados a objetos nos proporcionan, a parte de naturalidad al escribir código, la reutilización del mismo; de ahí que una de las principales ventajas sea el concepto de herencia. A través de la herencia podemos crear clases padres que contienen la funcionalidad básica, y luego una nueva clase que extienda a esta donde heredaremos todas sus características, propiedades y métodos. Sin

Pequeños cambios en PHP 5.4

Imagen
Veamos algunos de los muchos pequeños cambios realizados en el entorno de PHP 5.4. Cada uno de ellos por sí solo no justificaría un artículo independiente, pero es mejor asegurarse de ellos para que la transición a PHP 5.4 desde versiones previas no se convierta en un quebradero de cabeza. Hay una gran cantidad de cambios que se hicieron en esta actualización y algunos de ellos implican la eliminación por completo, no sólo desuso, de funcionalidades utilizadas por versiones anteriores de PHP que ya no serán compatibles, y de utilizarse obtendremos errores en nuestros archivos. Uno de estos elementos es el modo seguro . Algunas aplicaciones utilizan el modo seguro para el manejo de la seguridad en la interacción con el sistema de archivos. Esta herramienta fue creada principalmente para entornos de alojamiento compartido, pero se ha determinado que este tipo de seguridad es mejor manejarla dentro del propio servidor web o el sistema operativo. Sin embargo, eso no quiere decir que nec

Evolución de divisas respecto al euro

Imagen
Es un poco off topic pero recopilando datos del Banco Central Europeo desde 2007 (para el dólar) y 2009 (yen y libra) he decidido crear un par de gráficos dónde se puede ver la evolución de las cotizaciones de estas monedas respecto al euro . Todos los cambios representan el equivalente a 1 euro. Aquí os dejo las gráficas para que puedan sacar sus propias conclusiones. Gráfico comparativo con los cambios del euro a dólar, yen, libra desde 2009 a la fecha Gráfico comparativo con los cambios del euro a dólar desde 2007 a la fecha

Novedades en PHP 5.4

Imagen
En el post anterior vimos por qué actualizar a PHP 5.4 en cuanto a factores de optimización del núcleo central, pero, ¿qué novedades trae esta nueva versión? Servidor web incorporado Uno de los cambios más grandes en PHP 5.4 es la adición de un servidor web incorporado. Esto nos permite utilizar PHP sin tener que instalar Apache o IIS y poder probar nuestro sitio en un instante. No es un súper servidor robusto, pero es genial para el manejo de un cierto desarrollo y pruebas en una sola máquina. Con el fin de iniciar el servidor web, la forma más fácil es navegar a la carpeta raíz de PHP y, a continuación, ejecutar PHP usando el flag S. Este servidor utiliza la carpeta public_html como raíz de los contenidos por ello debemos de crearla bajo la carpeta principal de PHP y allí ubicar todos los archivos de nuestro sitio web. php –S localhost:80 En caso de que nos salga el siguiente error failed to listen on localhost:80 (reason:Permission denied) es porque otra aplicación está utiliz

XAMPP Call to undefined function ldap_connect()

Imagen
Para activar la librería LDAP en cualquier entorno Windows debemos seguir los siguientes pasos: Activar la extensión en el archivo php.ini Agregar a la variable de sistema PATH la ruta de PHP. Cito el manual de PHP Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el sistema de Windows PATH . Para más información en como hacer esto, vea la FAQ titulada " Como añadir mi directorio PHP en el PATH de Windows ". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema por defecto es el PATH del sistema), esto no se recomienda. Esta extensión requiere que los siguientes ficheros estén en el PATH : libeay32.dll y ssleay32.dll Las versiones anteriores de PHP 4.3.0 requieren adicionalmente libsasl.dll . Para activar la librería en el php.ini lo único que tenemos que hacer es descomentar (eliminar el ; inicial) la siguiente línea ;extension=php_ldap

¿Por qué actualizar a PHP 5.4?

Imagen
Como hemos visto en el post anterior sobre la evolución de las distintas versiones de PHP 5 , PHP 5.3 es la versión más utilizada en la web aún cuando lleva sin tener una actualización desde diciembre del pasado año y estar en el mercado 2 versiones estables y superiores a ella. He elegido PHP 5.4 por los escépticos, porque es una versión estable y consolidada, con un desarrollo que se inició con el primer lanzamiento de la alpha 1 en junio de 2011 y que tras casi un año de pruebas lanzó su versión inicial para entornos de producción en marzo de 2012, una versión todavía con soporte por parte de PHP y que su ultima actualización ha sido este mismo mes de mayo con la versión 5.4.28. Muchas de las mejoras en PHP 5.4 no son algo que se pueda ver. No son algo que ni siquiera uno se daría cuenta mirando la página de novedades en el manual de PHP . En el centro de estos cambios está la optimización del tiempo de ejecución y una base de código más limpio en general. Si vemos el manual de PH

Evolución de PHP 5

Imagen
El 29 de junio de 2003 vio la luz la primera beta de PHP 5, la versión principal más estable y más difundida de PHP en nuestros días. PHP como lenguaje de programación en servidores es el más extendido en todo internet con una cuota del 81,9 % según los informes de la w3techs ; de este porcentaje de sitios, el 97,8 % utilizan algunas de las versiones de PHP 5 , lo que en resumen representa estos valores es que el 80.1 % de los sitios web de internet utilizan PHP 5 como lenguaje de cara al servidor , una cifra más que asombrosa pero en absoluto extraña*. Como hemos dicho anteriormente PHP 5 en su diferentes versiones (7 a la fecha) lleva más de 11 años activo, gratuito y con soporte para los principales servidores web y librerías que cubren todos los aspectos de la programación, conexión con servidores de correo electrónico, bases de datos, autentificación en dominios Windows, servidores Exchange, protocolos como SSH, FTP, etc. Todo ello ha llevado a PHP 5 al puesto número 1 que ocupa

Elegir un editor para PHP

Imagen
Existen multitud de editores para lenguajes de programación , editores de texto sencillos y entornos de desarrollo integrado (IDE en sus siglas en inglés) tanto genéricos como específicos para PHP. Entre todos ¿cual elegir? Lamentablemente no hay una respuesta concreta, todo depende de las necesidades particulares de cada uno. En este post haré una breve guía de los entornos de desarrollo integrados tanto genéricos como específicos de PHP para determinar ¿que aspectos tendríamos que considerar para elegir uno u otro? La parte esencial de cualquier editor que vayamos a utilizar para PHP es que sea capaz de comprender la sintaxis de las diferentes versiones de archivos PHP (.php, .php3, .php4, .phtml, .php5), pero aparte de lo obvio sería esencial encontrar en este IDE: un editor de texto plano el manejo de la sintaxis de php con colores y dando formato a las funciones, variables, etc. la identificación de fragmentos de código PHP dentro de otros formatos como HTML. que sea c