Artículos

Qué se necesita para desarrollar usando Symfony en Windows

Qué se necesita para desarrollar usando Symfony en Windows

Cómo hacer para...
Personalmente, es algo que preferiría evitar pero... si no queda opción, hay que hacerlo funcionar :) Algunos problemas que vamos a tener que resolver para tener un entorno de desarrollo medianamente cómodo son: Contar con PHPContar con composerContar con gitContar con algún IDE Todas estas cosas en Linux son prácticamente triviales (Especialmente si usás Ubuntu o algún derivado) pero en Windows son un poquito más difíciles de conseguir. Alternativamente podés usar un entorno virtualizado, pero si la única opción es un entorno local en Windows, acá van las instrucciones: Instalando PHP en Windows Instalar PHP en Windows no es una tarea extremadamente sencilla... para empezar debes descargar el ejecutable adecuado para tu S.O. (Según sea 32 o 64 bits). Eso lo podés hacer desde acá. El detalle es que, para…
Leer más
Cómo trabajar con grandes archivos JSON usando PHP

Cómo trabajar con grandes archivos JSON usando PHP

Cómo hacer para...
Recorrer un archivo json es algo sencillo, ¿cierto? Pues parece que cuando el tamaño del archivo es grande las cosas ya no son tan simples... Lo que se haría típicamente sería algo similar a: <?php $json = json_decode( file_get_contents( $argv[1] ), true ); print_r( $json ); El problema aquí es que se requiere primero leer todo el archivo para, recién entonces empezar a procesar... Tomemos un ejemplo como el árbol de categorías de MercadoLibre Brasil. Este archivo pesa 229 MB (Una vez descomprimido). 229 MB de puro json... es bastante, sí, pero... ¿es mucho? La respuesta en definitiva depende la configuración que tengas en tu php.ini. A efectos de este análisis hice un cambio al mío de modo que quede así: ; Maximum amount of memory a script may consume (128MB)…
Leer más
Cómo prevenir la subida duplicada

Cómo prevenir la subida duplicada

Cómo hacer para...
Ultimamente vengo trabajando bastante con procesamiento de planillas Excel usando PHP. Por lo general, el workflow del usuario es algo así como: Trabajar con algún otro sistema (HomeBanking, Plataforma de trading, etc...)Descargar información en formato ExcelImportar planilla descargada al sistema que yo desarrolléTrabajar la información dentro del sistema Uno de los errores comunes cuando una persona carga información a un sistema es el de la carga duplicada. Este problema se agrava cuando los duplicados no siempre son errores . Esta condición hace que no sea simple detectar y prevenir la importación duplicada. El escenario sería algo como tomar el workflow original y modificarlo ligeramente: Trabajar con algún otro sistema (HomeBanking, Plataforma de trading, etc...)Descargar información en formato ExcelImportar planilla descargada al sistema que yo desarrolléSalir por un caféOlvidar qué fue lo…
Leer más
Qué son los métodos mágicos de PHP

Qué son los métodos mágicos de PHP

Misceláneos
Una de las características que más me gusta de PHP son los métodos "mágicos". En realidad, como en la vida real, no se trata de magia como tal, si no de buenos trucos. De lo que se trata en este caso es de métodos que son invocados automáticamente (ante ciertos sucesos o eventos). La principal característica que tienen estos métodos es que sus nombres comienzan con __ (doble underscore). Si venís programando con objetos en PHP (al menos desde la versión 5), reconocerás estos (Especialmente el primero): __construct __destruct Puede que no lo supieras, pero el constructor y destructor de la clase pertenecen a un grupo más grande de métodos (conocidos como "mágicos"). Veamos algunos de ellos: __toString Este es otro de los más conocidos. Su función es retornar una…
Leer más
Cómo mostrar un array de PHP en una tabla HTML

Cómo mostrar un array de PHP en una tabla HTML

Cómo hacer para...
Los arreglos (o arrays) en PHP son, por lejos, la estructura de datos más utilizada. A diferencia de otros lenguajes, los de PHP son altamente flexibles (no tienen una longitud predeterminada, pueden albergar datos de diferente tipo, etc...). Una necesidad bastante común cuando se trabaja en desarrollo de aplicaciones web es la visualización del contenido de un arreglo en forma de tabla HTML. El ejemplo más claro es cuando el arreglo contiene los resultados de una consulta a una base de datos. Existen varios modos de lograr esta visualización. A continuación verás algunos de ellos, asumamos que todos los ejemplos comienzan con la definición del arreglo: <?php $a = [ [ 'Nombre' => 'Mauro', 'Apellido' => 'Chojrin', 'Correo' => 'mauro.chojrin@leewayweb.com', ], [ 'Nombre' => 'Alberto', 'Apellido' => 'Loffatti', 'Correo' =>…
Leer más
Cuál es el mejor lenguaje para aprender a programar

Cuál es el mejor lenguaje para aprender a programar

Reflexiones
Una pregunta que veo repetirse mucho entre gente que quiere aprender a programar es qué lenguaje es más conveniente para empezar. Lo que suelo contestar es que no es de suma importancia el lenguaje que se elija. Lo más importante a la hora de comenzar es aprender los rudimentos básicos de la programación (Qué son las variables, los ciclos, las expresiones, etc...). Todos los lenguajes, de alguna u otra manera, implementan los mismo conceptos básicos. En cierto modo es como preguntar qué instrumento es mejor para aprender música. Ciertamente hay algunos lenguajes que son más amigables con los novatos (Al igual que es más fácil aprender a tocar la guitarra que el arpa... o eso me han dicho :p). En qué se diferencian los lenguajes de programación La diferencia principal que tiene…
Leer más
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