Métodos de programación

From Wiki de Caballero
Revision as of 13:49, 19 May 2015 by Camilo (talk | contribs) (→‎Recursividad)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Programación Funcional

La idea de la programación funcional es hacer que las funciones solamente dependan de los parámetros, es decir una función con un parámetro igual llamada dos veces seguidas retorna lo mismo.

Más Información

Programación Modular

Programacion modular.png

Diseño Descendente

Diseno descendente.png

Diseno descendente2.png

Subprogramas

Subprogramas.png

Ámbito

Ambito.png

Recursividad

Recursividad.png

Ejemplo de recursividad en directorios

Otra aplicación de recursividad es recorrer un directorio y sus sub directorios para listar los archivos (o realizar la tarea que sea necesaria)

<?
/**
 * Leer un directorio de forma recursiva listando todos los archivos.
 * Fuente: https://sysengineers.wordpress.com/2010/07/09/simple-php-script-to-walk-and-print-a-directory-tree/
 * 
 * @param String $dir	Ruta a recorrer. El directorio debe tener permiso de lectura.
 */
function walk_dir($dir) {
	$relativedir = $dir;
	// Abrir directorio.
	if ($dh = opendir($relativedir)) {
		// Leer el contenido del directorio.
		while (false !== ($file = readdir($dh))) {
			// Verifica que $file sea distinto del directorio actual y distinto del directorio padre.
			if (($file !== '.') && ($file !== '..')) {
				// Si el elemento no es un directorio, imprime el nombre del archivo;
				// De lo contrario la función se llama a si misma para recorrer el directorio.
				if (!is_dir($relativedir . $file)) {
				    echo '<a href="' . $dir . $file . '" title="' . $file . '">'.$file.'</a>'."\n".'<br />';
				} else {
                                        // Imprime el directorio que se va a recorrer.
                                        echo $dir . $file . '<br />';
                                        // La función se llama a si misma para recorrer el directorio.
					walk_dir($dir . $file . '/');
				}
			}
		}
	}
}

walk_dir('/Ruta/a/recorrer/');

Estilo de Programación

Estilo de programacion.png