«Andante con moto». Rapidillo, ma non troppo…

Un blog acerca de cualquier cosa excepto música clásica.

Archive for the ‘php’ Categoría

Turdle, version 0.1

without comments

This is a little PHP script I’ve been using on my personal/home web server. I’ve improved it over time and suddenly I got in this sharing mood and thought:

«Gee, the rest of the world should have the pleasure of running this script on their web servers with PHP enabled. They should have the opportunity to simply copy it into a directory under their DocumentRoot and point their browser to it.»

Yeah, that’s what I thought. And now, a few months later, I remembered having thought that. So here it is: turdle_0.1.php. Rename it as you see fit (at least remove the .txt extension).

Like the header says:

/*
 * TURDLE is "The Ultimate Recursive Directory Lister, Enhanced"
 * it's not called ÑORDO because that doesn't make an nice acronym.
 * 
 * It lists the content of the defined directory and creates
 * links to it's content.
 * It does not show files starting with ".".
 * It does not show itself.
 * It does not validate as HTML 4.01 Strict!
 * It peruses the word "it" in it's header
 * 
 */

By the way, it’s published under the GNU/GPL, too.

Escrito por Lucas Vieites

Marzo 10th, 2010 at 9:11 pm

Por qué programo como lo hago

with 2 comments

Hace poco me tocó añadir ciertas funcionalidades a una aplicación web que escribí hace unos seis o siete años. Además de echarme algunas risas por alguna de las «barbaridades» que me encontré al revisar los archivos, me pasé un buen rato formateándolos para poder ver bien el flujo del código y comprender qué pasaba en cada sección. Y es que hace seis años todavía no tenía un estilo de código definido.

Cuando empecé a programar en PHP venía un poco viciado de programar en C y javaScript y hacía cosas como:

1
2
3
4
5
6
7
8
9
10
11
12
function mifuncion()
{
	// Función para hacer algo
	if (condicion)
	{
		// hacer una cosa
	}
	else
	{
		// hacer otra cosa
	}
}

desperdiciando valiosas líneas, algo que aprendí a evitar cuando los archivos de código se hacen más y más grandes y solo tienes 1024 píxeles de alto en tu pantalla.

A día de hoy ese mismo código lo pondría así:

1
2
3
4
5
6
7
8
function mifuncion() {
	// Función para hacer algo
	if (condicion) {
		// hacer una cosa
	} else {
		// hacer otra cosa
	}
}

ahorrándome cuatro líneas.

Como el hombre es un animal de costumbres sigo haciendo esto porque, a pesar de que las pantallas son cada día más grandes, también los IDEs ocupan cada vez más espacio en pantalla con sus barras de herramientas, de estado y plugins de calidad de código y no sé qué mil cosas más. Y no me hagáis hablar de la manía que le ha entrado a los fabricantes por las pantalla panorámicas ;-(

Mi estilo actual de programación está fuertemente basado en las recomendaciones de Sun (ahora ya parte de Oracle), publicadas en sus «Code Conventions for the Java Programming Language» (traducido al español por javaHispano -no tengo enlace al documento original- y revisado y corregido por un servidor: Convenciones de código para el lenguaje de programación Java).

NOTA: también estoy a favor de usar tabulaciones de cuatro espacios, a pesar de que el plugin de wordpress ponga 8, y en contra de lo que defiende Jamie Zawinski en el artículo «Tabs vs Spaces» que he puesto de «Obligada lectura» en la columna de la derecha.

Escrito por Lucas Vieites

Febrero 11th, 2010 at 1:02 pm

[PHP] debug() function

without comments

Función utilizada para mostrar el valor de una variable. Normalmente la uso para depurar el código.

/**
 * debug; Prints a string and a variable value in red (for debugging purposes).
 * @name string containing the name of the variable
 */
function debug($name) {
	global ${$name};
	global $debug;
	$the_style = "color:#f00;font-weight:bold;";
	// Only show output if debugging is on
	if ($debug == 1) {
		$var = ${$name};
		if (is_array($var)) {
			echo "##<b class=\"bold\">$name</b><br>\n";
			while (list($key, $value) = each($var)){
				print("\n".'<div style="'.$the_style.'">#=>'.$key.' ==> ');
				if (is_array($value)){
					print('<code>');
					print_r($value);
					print('</code>');
				} else {
					echo nl2br($value);
				}
				print('</div>'."\n");
			}
		} else {
			print('<div style="'.$the_style.'">#'.$name.'=>'.$var.'#</div>'."\n");
		}
	}
}

Ejemplo de uso:

<?php
$debug = 1;
// ...
$mi_mensaje = "Mola Hundo!";
debug("mi_mensaje"); // OJO, se pone el _nombre_ de la variable, no la variable
// ...
?>

Escrito por Lucas Vieites

Diciembre 11th, 2009 at 3:59 pm

Publicado en internet, linux, php, tecnología

Etiquetado con ,

Crear una hoja de cálculo con PHP

without comments

Antes de nada: en este artículo no se explica cómo crear un archivo en formato Excel u OpenOffice.org Calc, sino de cómo hacer que estos programas «crean» que es así.

Crear una hoja de cálculo comprensible para Excel u OpenOffice.org Calc es más fácil de lo que parece. De hecho, el procedimiento que describo en este artículo realmente no crea una hoja de cálculo, sino un documento HTML con una tabla. El truco está en enviar una cabecera indicando un «mime-type» falso que será interpretado por el sistema operativo del cliente como una hoja de cálculo, tal que así:

header("Content-Type: application/vnd.ms-excel");

Leer el artículo completo »

Escrito por Lucas Vieites

Octubre 15th, 2009 at 2:07 pm

Truquillos para diseño web, html, css y php

with one comment

Después de tener el Listado de comandos útiles para Linux y también el Listado de comandos útiles para SQL, me decidí a crear esta entrada para tener disponible este listado de pequeños trucos que me hacen más fácil la vida de diseñador/programador de webs.

Centrar un objeto mediante CSS:

.centrado {
	margin-left: auto;
	margin-right: auto;
}

Para que un objeto Flash se quede detrás de las capas css
Ver: este artículo:

Escrito por Lucas Vieites

Febrero 23rd, 2009 at 1:21 pm

Publicado en Web, actividad online, diseño, internet, php, tecnología

Etiquetado con , , , ,