Cómo enviar emails desde PHP

Cómo enviar emails desde PHP

Cómo hacer para...
Es muy común la necesidad de enviar emails desde PHP, tanto si se trata de un script de CLI (como puede ser un cronjob) o de una aplicación web. Existen varias opciones a la hora de conseguirlo: La más simple es el uso de la función mail.  Es una función de bastante bajo nivel (es decir, algo tosca), pero está disponible en casi cualquier instalación de php. Esta opción está bien para escenarios simples, pero para usos más avanzados (como enviar adjuntos, HTML o similares), es conveniente utilizar alguna otra opción algo más robusta. Algunas alternativas interesantes son: PHPMailerSwiftMailerZendMail Cualquiera de estas resultará más adecuada que el uso de la simple función mail en contextos en los que la performance sea una preocupación (Por ejemplo, cuando hay alto tráfico en el…
Leer más
Cómo conectar un botón HTML con un método de un objeto php

Cómo conectar un botón HTML con un método de un objeto php

Cómo hacer para...
Un alumno de un curso de PHP Orientado a Objetos me hizo esta pregunta: Necesito hacer que un botón o link de mi HTML ejecute un método de un objeto php.Intenté lo siguiente pero sin éxito:<a href="<?php $objeto->Método() ?>"> Reservar </a> La pregunta encerraba una confusión respecto del modelo de ejecución de PHP. Revisemos un poco Cuál es el modelo de ejecución de PHP Lo primero que hay que entender para responder esta pregunta es el ciclo de vida de una petición a una aplicación (o página) PHP. Recordemos que PHP es un lenguaje pensado (al menos originalmente) para generar código HTML en forma dinámica sin recurrir a complicados mecanismos tipo CGI. HTML es la salida por defecto de PHP cuando se ejecuta como módulo de algún servidor web (Apache por ejemplo)...…
Leer más
Cómo se usan las funciones anónimas en PHP

Cómo se usan las funciones anónimas en PHP

Cómo hacer para...
Las funciones anónimas son, como te habrás imaginado, funciones que no tienen un nombre. Esto puede sonar bastante raro, siendo que seguramente cuando aprendiste qué es y cómo se define una función en PHP te dijeron que era algo con la pinta: function f( $param1, $param2 ) { // Algo de código } Pues te mintieron. Bueno, no, en realidad no te mintieron pero te dieron una versión parcial de la verdad. Lo que quiero decir es que generalmente las cosas son así como las conoces, pero existen otras posibilidades. Te presento la función anónima: $f = function( $param1, $param2 ) { return $param1 + $param2; } En este ejemplo estoy asignando a la variable $f la función que estoy definiendo (¡No el resultado de su evaluación! No te confundas). Y…
Leer más
Cómo se usan los callbacks en PHP

Cómo se usan los callbacks en PHP

Cómo hacer para...
Este es uno de mis temas preferidos cuando a PHP se refiere. Debo confesar que lo descubrí bastante tarde, pero fue prácticamente amor a primera vista. Veamos un ejemplo: Si tengo un array con números ( [ 1, 2, 3, 4, 5 ] ) y quiero obtener sólo los números pares, la forma normal de hacerlo sería algo como: $pares = []; foreach ( $numeros as $numero ) {    if ( $numero % 2 == 0 ) {        $pares[] = $numero;    } } Levantemos un poco el nivel de abstracción: function esPar( $numero ) { return $numero % 2 == 0; } $pares = []; foreach ( $numeros as $numero ) {    if ( esPar( $numero ) ) {        $pares[] = $numero;…
Leer más
Cómo interactuar con Excel desde PHP

Cómo interactuar con Excel desde PHP

Cómo hacer para...
Un problema bastante común en el desarrollo de aplicaciones para empresas es la interacción con Excel (Levantar datos, generar planillas, etc...). Un modo sencillo de evadir el problema (y que muchas veces funciona), es exportar la información hacia archivos de texto separados por comas (Los famosos CSV) y luego tratarlos desde PHP con funciones como fgetcsv. Obviamente, esto servirá si se trata de una aplicación que sólo requiere leer datos... ¿Qué pasa si necesitamos generarlos? (O si la estructura de la planilla en cuestión es algo más compleja). Como en la mayoría de los casos, existen diversas opciones de solución. Una particularmente buena es la librería PHPExcel PHPSpreadSheet. Escribir un archivo Excel usando PHP Un detalle importante de la librería PHPSpreadSheet es que permite interactuar con planillas de cálculo diversas (xls,…
Leer más

Cómo obtener la cotización del día de una acción con PHP

Cómo hacer para...
Todo lo que voy a mostrarte acá se basa en la API de Yahoo Finance. Lo primero que tenés que hacer es instalar composer. Segundo, inicializar el proyecto: php composer.phar init Tercero: agregar la dependencia del paquete https://github.com/scheb/yahoo-finance-api: php composer.phar require scheb/yahoo-finance-api Y después podés usar un código como este: #!/usr/bin/php <?php require __DIR__ . '/vendor/autoload.php'; $client = new \Scheb\YahooFinanceApi\ApiClient(); $d = new DateTime($argv[2]); echo "Buscando ".$argv[1]." en fecha: ".$d->format('d/m/y').PHP_EOL; try { $data = $client->getHistoricalData($argv[1], $d, $d); echo $data['query']['results']['quote']['Close'].PHP_EOL; } catch ( Exception $e ) { echo $e->getMessage().PHP_EOL; } En este ejemplo, lo que tenés es una utilidad de línea de comandos que recibe dos parámetros: El ticker (Símbolo del papel en cuestión, por ejemplo TS para la acción de Tenaris) La fecha. La llamada sería así: php get_stock_price.php TS Yesterday y el…
Leer más
Cómo obtener información de un sitio que no tiene API usando PHP

Cómo obtener información de un sitio que no tiene API usando PHP

Cómo hacer para...
Me encontré recientemente con este problema desarrollando un sistema para un cliente y creo (¡y espero!) que mi experiencia pueda ayudar a otros. El desafío era el siguiente: nuestro cliente es una empresa que se dedica a la administración de activos financieros. Como parte de su operatoria, requieren la consolidación de información que actualmente está dispersa en una serie de planillas Excel. Parte de esa información se refiere a movimientos de acciones y bonos. Una de las tareas que se realizaba manualmente era el cálculo de cuánto dinero se había movido al realizar una compra o venta de alguno de estos instrumentos (Simple: cantidad de títulos por precio del título al día de la transacción). La complejidad de este cálculo reside en cómo conseguir el precio que tenía el activo al día en…
Leer más
Cómo iterar sobre un jSON usando php

Cómo iterar sobre un jSON usando php

Cómo hacer para...
La forma más sencilla de iterar sobre un jSON usando php es convertirlo a un array. Simplemente se trata de usar la función json_decode pasándole como parámetro el string jSON que querés recorrer y true (para que el resultado sea devuelto como un arreglo asociativo). Una vez que el jSON está transformado a array se puede iterar sobre él como lo harías con cualquier otro array php, usando un foreach o alguna otra estructura. Por ejemplo, si tuvieses en la variable $json el siguiente texto: { "rojo":"#f00", "verde":"#0f0", "azul":"#00f", "cyan":"#0ff", "magenta":"#f0f", "amarillo":"#ff0", "negro":"#000" } Para recorrerlo desde php harías algo como: $array = json_decode( $json ); foreach ( $array as $nombre => $hexa ) { echo $nombre.'='.$hexa; } Y la salida que obtendrías sería: rojo = #f00 verde = #0f0…
Leer más