Cómo acceder a Gmail usando PHP

Cómo acceder a Gmail usando PHP

Cómo hacer para...
Este post está inspirado en un caso muy interesante que me tocó resolver para un cliente. Doy un poco de contexto para que se entienda de dónde viene el tema: Una buena parte de los clientes de mi cliente llegan a través de correos que se reciben en info@...., claramente, te imaginarás que, dentro de los muchos que llegan, una parte es SPAM y la otra son contactos genuinos. Separar la paja del trigo sería un desafío realmente interesante (Que probablemente involucraría algo de procesamiento del lenguaje natural, IA y esas cosas tan divertidas), pero... por el momento el presupuesto dio sólo para mejorar un poco el proceso de tratamiento del trigo una vez haya sido debidamente identificado. Muy bien, entonces, el punto era que se estaba queriendo, además de…
Leer más
Qué aplicaciones se pueden crear con PHP

Qué aplicaciones se pueden crear con PHP

Misceláneos
Por si tenés poco tiempo: cualquier tipo de aplicación. Listo, sos libre :) ¿Cómo? ¿Querés más detalles?... ok, por ser vos... PHP para la creación de aplicaciones web El uso más conocido de PHP es para crear aplicaciones web (¡vamos, que para eso se creó el lenguaje!), ya se trate de blogs, Intranets, tiendas virtuales (e-commerce), plataformas de educación a distancia (e-learning), sitios de noticias o... lo que tu imaginación permita! Claro que, en cualquiera de estos ejemplos, PHP no está solo... usualmente se complementa con HTML, JavaScript, CSS, etc... En estos casos, PHP suele usarse como apéndice para extender las funcionalidades de un servidor web (Por ejemplo Apache o NginX), de modo de permitir la creación de páginas dinámicas (En lugar de mostrarle a todos los visitantes lo mismo, se le da…
Leer más
Cómo enviar XML a un WebService con PHP

Cómo enviar XML a un WebService con PHP

Cómo hacer para...
Para empezar, debemos responder una pregunta escencial: ¿se trata de un WebService de tipo SOAP o uno de tipo REST? ¡La forma de enviarlo en uno u otro caso será muy diferente! Otra historia es cómo recibir XML a través de WebServices desarrollados usando PHP... tema para otro post :) Cómo enviar XML a un WebService SOAP con PHP Como siempre, para el caso de que se trate de un webservice de tipo SOAP, usaremos la clase SOAPClient Tomemos como ejemplo este Servicio Web que tiene un solo método disponible (CustomerSearch), el cual recibe XML y devuelve XML. Tenemos dos alternativas para generar el XML que queremos enviar: Escribirlo explícitamente (o "a mano") Usar la clase SimpleXMLElement Si aún estás en dudas, no dudes más: usa la clase, te ahorrará una gran cantidad…
Leer más
Cómo exponer un WebService REST con PHP

Cómo exponer un WebService REST con PHP

Cómo hacer para...
¿Qué es un WebService? Ya en el artículo sobre cliente REST di una pequeña definición de un WebService, por si no lo leíste te lo cuento: Un WebService es una pequeña aplicación web diseñada para interactuar con otras aplicaciones (en lugar de hacerlo con personas). Las dos aplicaciones que se comunican toman el rol de: Servidor: quien expone el servicio Cliente: quien lo consume ¿Qué es REST? REST es un protocolo de intercambio de información basado en HTTP. ¿Cómo se implementa en PHP? Los servicios web basados en REST suelen ser mucho más fáciles de crear (y consumir) que los basados en SOAP. De hecho, cualquier aplicación PHP que hayas hecho podría ser un WebService REST! (Bueno… tal vez no uno muy útil, pero eso es otro tema :)). Te muestro un…
Leer más
Cómo exponer un WebService SOAP con PHP

Cómo exponer un WebService SOAP con PHP

Cómo hacer para...
¿Qué es un WebService? Ya en el artículo sobre cliente SOAP di una pequeña definición de un WebService, por si no lo leíste te lo cuento: Un WebService es una pequeña aplicación web diseñada para interactuar con otras aplicaciones (en lugar de hacerlo con personas). Las dos aplicaciones que se comunican toman el rol de: Servidor: quien expone el servicio Cliente: quien lo consume ¿Qué es SOAP? SOAP es un protocolo de intercambio de información basado en XML. ¿Cómo se implementa en PHP? Ahora que estamos claros con las definiciones veamos un ejemplo: server.php: <?php class MiClase { public function saludar() { return 'Hola ' . func_get_args()[0] . PHP_EOL; } } try { $server = new SoapServer( null, [ 'uri'=> 'http://localhost:8080/soap_server.php', ] ); $server->setClass('MiClase'); $server->handle(); } catch (SOAPFault $f) { print $f->faultstring;…
Leer más

Cómo eliminar registros antiguos usando PHP y MySQL

Cómo hacer para...
Me llega este correo de un ex alumno:   Mauro como estás? Espero que muy bien! Sigo con el proyecto del centro cultural y quisiera saber si hay alguna forma de generar un script en sql que me borre los eventos que cargue a los cuales ya les haya pasado la fecha. Saludos,   Si quisiéramos adherir estrictamente a la pregunta, la respuesta sería "Sí"... pero sería un poco mala persona si lo dejara ahí, ¿cierto? :) Voy a profundizar un poco para no dejar a nadie con la intriga. Una forma de resolver el problema desde sql (Asumo que se trata de MySQL) sería generar un procedimiento almacenado o directamente tener a mano una consulta que hiciera lo que se busca: borrar los eventos a los que les haya pasado…
Leer más
Cómo filtrar un arreglo multidimensional por clave en PHP

Cómo filtrar un arreglo multidimensional por clave en PHP

Cómo hacer para...
Me llegó esta pregunta a través de twitter: Veamos el arreglo en mayor detalle: Por lo que se ve, se trata de un array de arrays. El primer índice es por número y la segunda dimensión tiene índices string y, viendo el contenido del mismo entiendo que se trata del resultado de alguna consulta a una base de datos (Siendo que los elementos parecen tener la misma estructura y especialmente al haber un elemento llamado "id"). Muy bien, entonces el objetivo sería obtener sólo aquellos elementos en los cuales la columna "condial_39" vale 1, en este caso sería el array completo, pero obviamente este podría no ser el caso. Se me ocurren diferentes formas de lograr este objetivo: A la vieja usanza Simplemente se trata de hacer una recorrida del…
Leer más
Cómo tratar archivos comprimidos con PHP

Cómo tratar archivos comprimidos con PHP

Cómo hacer para...
Recientemente me tocó realizar una modificación a un sistema que había desarrollado para recibir un único archivo comprimido, en lugar de un conjunto de archivos en forma individual. Dejando de lado los ajustes hechos en el front-end (No fue gran cosa realmente, se trató de cambiar un formulario con 5 inputs por uno solo y, como lo había hecho usando el framework Symfony esa parte fue simple, ni tuve que tocar HTML), la parte interesante fue cómo procesar el archivo comprimido. Para empezar, algo que tuve que acordar con el usuario era el formato de compresión que íbamos a utilizar. Obviamente no es lo mismo descomprimir un archivo .rar que un .zip (Diferentes formatos, diferentes algoritmos de compresión, etc...). En mi caso no tuve problema porque tenía la posibilidad de definir…
Leer más
Cómo interactuar con MailChimp usando PHP

Cómo interactuar con MailChimp usando PHP

Cómo hacer para...
Uno de mis SaaS favoritos es MailChimp (El que uso para el envío de mis campañas de e-mail marketing y para algunos clientes también). Si bien su interface es algo rústica (A veces cuesta encontrar el modo de realizar ciertas tareas, sobre todo al comienzo cuando no se conoce bien), es sumamente funcional (Hasta tiene workflows automatizados). Pero, como siempre, las posibilidades que brinda de fábrica son más limitadas de lo que a un desarrollador le gustaría... afortunadamente, cuenta con una API muy buena que permite manipular todos los objetos del sistema y lograr algunas cosas que desde la interfaz web son complejas (o directamente imposibles). Algo que me sucedió recientemente (y que dio origen a este post) fue la necesidad de realizar un mismo envío (el cual incluyera el disparo de nuevos…
Leer más
Cómo generar archivos PDF con PHP

Cómo generar archivos PDF con PHP

Cómo hacer para...
Una necesidad bastante común en el desarrollo de aplicaciones basadas en web (Especialmente las que se usan dentro de ambientes corporativos) es la de emitir reportes. Una forma simple de resolver este problema es la generación de páginas html cuyo único objeto es ser impresas y dejar al usuario la decisión de guardarlas en lugar de imprimirlas. Si bien esta solución puede ser suficiente cuando se trata de emitir un reporte a un usuario, ciertamente no es lo ideal cuando se trata de intercambiarlo con algún otro sistema. Particularmente en este artículo voy a mostrarte algunas formas de generar archivos pdf usando PHP. Librería PDF de PHP Existe una extensión de PHP llamada PDF, la cual está basada en la librería PDFlib (Desafortunadamente, una librería propietaria). Esta librería debe ser instalada como una…
Leer más