Difference between revisions of "Métodos de programación"
Jump to navigation
Jump to search
Line 21: | Line 21: | ||
[[File:Recursividad.png|600px]] | [[File:Recursividad.png|600px]] | ||
===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) | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
<? | <? |
Latest revision as of 13:49, 19 May 2015
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.
Programación Modular
Diseño Descendente
Subprogramas
Ámbito
Recursividad
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/');