Cómo generar facturas electrónicas usando PHP

Cómo generar facturas electrónicas usando PHP

Cómo hacer para...
En los países de Latinoamérica se está produciendo una migración hacia la facturación electrónica (dejando de lado las viejas facturas de papel). Más allá de aspectos políticos, es una muy buena noticia por, al menos, los siguientes motivos: Las operaciones comerciales se realizarán mucho más eficientemente Se limitará muchísimo la economía informal y todos los problemas que de ella se derivan Dará mucho trabajo a muchos programadores :) Sobre este último punto, veo que a muchos colegas se les complica un poco el tema de integrar sus sistemas con aquellos de la autoridad central de su país, así que decidí hacer este pequeño compendio de las librerías que hay disponibles como para acortar un poco el camino. Cómo generar facturas electrónicas para Argentina En el caso de Argentina, la autoridad…
Leer más
Cómo recorrer un archivo XML usando PHP

Cómo recorrer un archivo XML usando PHP

Cómo hacer para...
Como de costumbre, comencemos por ponernos de acuerdo en las definiciones. Qué es XML Las siglas XML remiten a eXtensible Markup Language (Lenguaje de etiquetas extendible). Se trata de texto estructurado mediante etiquetas (Palabras encerradas entre < y >): <utensilios>   <tenedor/>   <cuchillo/> </utensilios> Para qué sirve XML XML se inventó como un medio de intercambio de información entre sistemas a través de Internet. Al ser un formato basado en texto, era fácil aprovechar la infraestructura existente para comunicarse a través de HTTP. Hoy en día, XML es utilizado en muchas implementaciones de WebServices (Por ejemplo, las facturas electrónicas) y también para almacenar configuraciones (En el caso del lenguaje Java es muy común encontrar este tipo de archivos, en PHP no tanto). Cómo se procesa XML usando PHP Al tratarse…
Leer más
Cómo automatizar las búsquedas en Google

Cómo automatizar las búsquedas en Google

Cómo hacer para...
Un cliente de Leeway está buscando aumentar el tamaño de su base de datos para realizar mailings y me pidió que le diseñe un robotito para extraer las direcciones de correo que estén presentes en las páginas resultantes de ciertas búsquedas de Google. Si bien personalmente no lo considero algo muy productivo (Discusión aparte sobre la efectividad/ética de enviar correo no deseado o si realmente se trata de correo no deseado cuando se ofrece una solución que realmente va a ayudar a quien lo reciba), me pareció interesante el desafío técnico (y también, hay que reconocerlo, a veces simplemente hay que darle al cliente lo que quiere :)). Lo primero que se me ocurrió fue que, así como hay APIs para entrar a Gmail, a GoogleDocs y demás, debía haber alguna para usar…
Leer más
Cómo pasar datos JSON a CSV

Cómo pasar datos JSON a CSV

Cómo hacer para...
La pregunta que dió origen a este post era un poco más amplia: Pero como ya hablé de cómo consumir webservices (Sean REST o SOAP) me voy a concentrar en la parte que me llamó la atención: cómo pasar de JSON a CSV. Aclaremos los tantos antes de ir a los detalles: Qué es JSON JSON significa JavaScript Object Notation, es decir: notación de objetos de JavaScript. Está más allá del alcance de este artículo (y de este blog en general) hablar de las bondades (o falta de ellas) de JavaScript... hay mucho material muy bueno al respecto. El punto es que, más allá de lo que a vos te guste o no, JavaScript tiene una sintaxis muy práctica para describir los objetos: todo lo que esté encerrado entre {} es…
Leer más
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
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 (Una más exhaustiva está en el curso de WebServices con PHP), 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',…
Leer más
Cómo realizar una aplicación web en PHP

Cómo realizar una aplicación web en PHP

Cómo hacer para...
Me llegó esta pregunta a través de Twitter: Y la verdad... me descolocó un poco (No descarto que haberla leído un Sábado a las 8 A.M. haya tenido algo que ver :)). Es que es algo tan natural para mi hoy en día que me fue difícil pensar en cómo responder... aquí va: Lo primero que habría que entender es a qué llamamos "Aplicación Web". Seguramente estés familiarizado con una serie de categorías como e-Commerce, Blogs, CMS, Red Social, etc..., pero si te preguntara qué es una aplicación web, ¿cómo responderías? Qué es una aplicación web ¿Por qué preguntarle a Wikipedia? En la ingeniería de software se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de internet o de una intranet mediante un navegador. En otras palabras, es un programa que se codifica en…
Leer más