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 (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

Breve introducción a Laravel

Herramientas
Hoy tengo el placer de presentar un post de un invitado. Mi amigo Maxi Yañez con quien hemos compartido más de una interesantísima charla en la sala de profesores de Digital House. Siendo él un experto en el framework Laravel le pedí que me ayudara a traerte este tema del que no conozco tanto pero que pienso que puede ayudarte. Espero que lo disfrutes. Un pequeño disclaimer: no hice edición alguna del artículo, con lo cual, las opiniones son las de Maxi (Si me venís leyendo sabrás que mi framework favorito es Symfony, pero no nos vamos a pelear por cuál es el mejor, ¿cierto?) Ahora sí, no más pre-ámbulos, Maxi: todo tuyo :) Breve introducción a Laravel Laravel es un framework creado por Taylor Otwell y basado en la arquitectura de trabajo…
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

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 iniciar sesión en una web utilizando PHP

Cómo iniciar sesión en una web utilizando PHP

Cómo hacer para...
  Me llegó esta pregunta a través de un grupo de Facebook en el que participo: El tema me recuerda un poco lo que escribí sobre obtener información de un sitio que no ofrece una API pero, si bien el problema es similar no es exactamente el mismo. La idea aquí es simple, se trata de obtener programáticamente la información que podemos obtener usando un navegador para entrar a algún sitio. Recientemente un amigo tiene en una farmacia me pedía ayuda para lograr algo bastante parecido: lo que él buscaba era ingresar al sitio de la droguería (su proveedor) y consultar el stock de un determinado medicamento (Algo que puede hacer muy sencillamente ingresando manualmente al sitio... imaginate que hacer una consulta por una buena cantidad de productos no es para…
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
Validaciones… ¿lado cliente o lado servidor?

Validaciones… ¿lado cliente o lado servidor?

Buenas prácticas, Seguridad
La respuesta corta primero: las dos (y si sólo puedo elegir una, definitivamente del lado servidor). Respuesta larga: ¿Por qué es más importante la validación del lado servidor que del lado cliente? Sencillamente porque tenés mucho más control sobre lo que sucede. En una aplicación de escritorio (o digamos, una aplicación que no sea de tipo cliente-servidor) no existe este problema: la aplicación es una sola con lo cual, lo que el front-end captura puede ser considerado confiable y volver a realizar la validación en el backend resultaría redundante. En cambio, en el entorno de una aplicación web (o una cliente-servidor), se trata realmente de dos aplicaciones independientes. Pensá un momento en cómo es el modelo de ejecución de una aplicación web: El cliente realiza un pedido El servidor responde…
Leer más