10 Funciones en PHP que Probablemente jamas usaste Cuando estamos codeando en PHP, amenudo nos limitamos a una cierta cantidad de funciones: las comunes, como print(), header(), define(), isset(), htmlspecialchars(), etc. Si alguna funcion que necesitemos no existe, a menudo la codeamos haciendo uso de estos basicos componentes que tenemos en mente. el API de PHP de hecho ofrece muchisimas funciones, algunas inutiles como otras de vital importancia, bueno.. y otras rara vez usadas, He estado buscando a travez de las funciones disponibles y fue interesante encontrar algunas realmente geniales que deberias saber acerca de ellas.Aqui, comparto mis investigaciones. 1. sys_getloadavg() sys_getloadavg es una funcion que regresa tres muestras de "carga media" de un sistema, carga es el numero de procesos en cola en el sistema. Los 3 elementos en el array son la carga promedio de los últimos 1, 5 y 15 minutos. El Manual de PHP muestra excelentes usos de esto. $load = sys_getloadavg(); if ($load[0] > 80) { header('HTTP/1.1 503 Demasiado Ocupado. Intentelo de Nuevo'); die('Servidor Ocupado. Refresque la Pagina en unos minutos.'); } ?> En vez de que el servidor se haga demasiado pesado y dejarlo sin disponibilidad de uso, muestras un punto donde el servidor excede carga maxima (die). Esto permitira unos requests y denegara otros. No disponible para Windows. 2.Pack Bueno, de hecho yo uso pack() muy amenudo para volver variables hexadecimales de 32 bytes por medio de md5() , en variables binarias de 16 bytes. $pass_hash = pack("H*", md5("my-pass")); $pass_hash = md5("my-pas", true); // el equivalente (PHP 5+) ?> muy utl para almacenamiento de datos en una db para guardar espacio (en el caso de empaquetar strings hexadecimales en strings binarias). 3.cal_days_in_month() cal_days_in_month() devuelve el numero de dias de un mes dado $days = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y")); // 31 echo ( $days - date("d") + 1 ) . " dias hasta " . date("F", mktime(0, 0, 0, date("m") + 1, 1, 1970)); ?> 4._() si has trabajado en wordpress, tu de seguro sabras acerca de _() y _e(). Para hacer software i18n-able. Puedes usar gettext() (o tambien _() que es su alias), junto con otras funciones para lograr la misma funcionalidad , sea en wordpress o no.Este ejemplo fue tomado del manual de PHP. Para hacer PHP compatible con esta funcion necesitaras instalarla para hacer tu server con soporte gettext: https://launchpad.net/php-gettext/ 5.getbrowser() No seria genial averiguar por las capacidades de el navegador del usuario?, Bueno, lo puedes hacer con getbrowser(). Necesitaras el php_browscap.ini y dirigir las directivas browscap al archivo.Tu puedes tener algo como esto: $browser = get_browser(null, true); if(!$browser["frames"] || !$browser["cookies"]) echo "Por favor descarguese un navegador de verdad. el que tiene no soporta algunas secciones del sitio, en pocas palabras su navegador es una bosta. Gracias"; ?> Esto no va a detectar configuraciones individuales del navegador, sin embardo puedes ver cosas como , si el navegador tiene activado el JavaScript, o tambien para detectar los perfiles de los usuarios, es decir, su navegador y plataforma. 6.debug_print_backtrace() Puede ser dificil revisar tu codigo manualmente, peculiarmente buscando errores logicos, despues de todo tu escribiste lo que te parece logico. debug_print_backtrace() puede sacarte de una dificil situacion. Aqui la funcion esta siendo usada para una secuencia de comandos que no tienen sentido: $a = 0; function iterate() { global $a; if( $a < 10 ) recur(); echo $a . ", "; } function recur() { global $a; $a++; // how did I get here? echo "nnn"; debug_print_backtrace(); if( $a < 10 ) iterate(); } iterate(); # Salida: #0 recur() called at [C:htdocsphp_stuffindex.php:8] #1 iterate() called at [C:htdocsphp_stuffindex.php:25] #0 recur() called at [C:htdocsphp_stuffindex.php:8] #1 iterate() called at [C:htdocsphp_stuffindex.php:21] #2 recur() called at [C:htdocsphp_stuffindex.php:8] #3 iterate() called at [C:htdocsphp_stuffindex.php:25] #0 recur() called at [C:htdocsphp_stuffindex.php:8] #1 iterate() called at [C:htdocsphp_stuffindex.php:21] #2 recur() called at [C:htdocsphp_stuffindex.php:8] #3 iterate() called at [C:htdocsphp_stuffindex.php:21] #4 recur() called at [C:htdocsphp_stuffindex.php:8] #5 iterate() called at [C:htdocsphp_stuffindex.php:25] [...] ?> 7.metaphone() metaphone crea la misma clave para palabras que suenan parecido. Es más precisa que soundex() ya que conoce las reglas básicas de la pronunciación del inglés. Las claves generadas por metaphone son de longitud variable. (extraido del manual PHP) echo metaphone("train") . "n"; // TRN echo metaphone("terrain") . "n"; // TRN echo metaphone("not a train") . "n"; // NTTRN echo soundex("train") . "n"; // T650 echo soundex("terrain") . "n"; // T650 echo soundex("not a train"); // N336 ?> Bueno, esta funcion es diseñada exclusivamente para el idioma ingles pero un tipo re-loco se hizo la funcion para español, pueden ver como el primer comentario visible en la pagina de la funcion y puede ser encontrada la funcion aca. Llaman con un require() o include() y tienen joya la funcion. 8.natsort() natsort() es una funcion que filtra los elementos de un array naturalmente. Es decir lo que le pareceria logico a una persona, mas que todo es tomado por calificar por valores ordinales. Tomemos por ejemplo: $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); asort($array1); echo "Ordenación estándarn"; print_r($array1); #Array #( # [3] => img1.png # [1] => img10.png # [0] => img12.png # [2] => img2.png #) natsort($array2); echo "nOrdenación de orden naturaln"; print_r($array2); #Array #( # [3] => img1.png # [2] => img2.png # [1] => img10.png # [0] => img12.png #) ?> 9.levenshtein() levenshtein() es una funcion que te dice la similut de las palabras, la funcion regresara el minimo de replaces, inserts y deletes para transformar una palabra en otra. toma por ejemplo este code: $dictionary = array( "php", "javascript", "css" ); $word = "japhp"; $best_match = $dictionary[0]; $match_value = levenshtein($dictionary[0], $word); foreach($dictionary as $w) { $value = levenshtein($word, $w); if( $value < $match_value ) { $best_match = $w; $match_value = $value; } } echo "Quizas no quisiste decir la categoria '$best_match'?"; ?> En este caso el usuario ha sido cuestionado por el nombre de una categoria. El escribio "japhp", lo cual es invalida. Pero podria ser un simple error de escritura, por eso el code le sugiere "Quizas no quisiste decir la categoria php?" 10. glob() glob() hara que te sientas estupido usando opendir(),readdir() y closedir() para buscar un archivo, es asi de simple: foreach (glob("*.php") as $file) echo "$filen"; ?> Algo mas? Hay muchisimas mas funciones de alta utilidad alla afuera, si no tuviste suficiente http_build_query(), register_shutdown_function() y pspell_suggest son funciones de las cuales vale la pena mencionar. Cual de todas es tu favorita? F! La Nota dijo:Comentarios irrelevantes al post seran eliminados. Gracias
10 Funciones en PHP que dudo hayas usado
Datos archivados del Taringa! original
0puntos
954visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
0visitas
0comentarios
Dar puntos:
Posts Relacionados
Sailor moon la historiaLitaKino
0
archivadoEscuelas Anarquistas.Ergueta
0
archivadoIslamización de Belén.porunacabeza
0
archivado0
archivadoDejá tu comentario
No hay comentarios nuevos todavía