A menudo cuando un desarrollador comienza a programar en Php, se siente que ha encontrado la herramienta perfecta para el rápido desarrollo de sitios webs dinámicos, incluso tiempo atras en el que que las características del lenguaje y la cantidad de funciones eran más escasas. De un tiempo a esta parte el lenguaje a añadido extensiones y una gran popularidad. Desafortunadamente esto hace que para nuevos programadores sea mas dificil comprender algunos conceptos de este lenguaje.
Te recomiendo que si tu has estado buscando alguna funcion o funcionalidad y no lo has encontrado eches un vistazo a esta lista de 5 cosas que no puedes hacer con PHP.
1. Probar un rango de valores usando Switch
La condición switch es realmente útil, pero hay situaciones en las que este tipo de situaciones estan limitadas. El switch es usado para probar si una variable es equiparable a un determinado valor, algo como esto:
switch ($grado) {
case 'A':
echo 'Excelente!';
break;
case 'B':
echo 'Buen trabajo.';
break;
case 'C':
echo 'Estudia más.';
break;
}
¿Pero puedes hacer que switch compare rangos de valores?
El truco es usar switch no para comparar una variable contra un valor, sino una variable contra un valor booleano TRUE o FALSE:
switch (TRUE) {
case ($edad < 16):
echo 'No puedes conducir.';
break;
case ($edad < 18):
echo 'No puede votar.';
break;
case ($edad < 21):
echo 'Estudias y no tienes casa.';
break;
case ($edad > 65):
echo 'Debes jubilarte del trabajo.';
break;
default:
echo 'Trabaja,trabaja,trabaja...';
break;
}
Mientras intentas entender como funciona, puedes usar este ejemplo y aplicarlo a otras situaciones, a partir de ahora debes pensar como utilizar la condicion switch observándola desde esta perspectiva.
2. Hacer que print_r() devuelva los resultados en lugar de imprimirlos
Espero que estes familiarizado con el uso de print_r(): esta funcion imprime variables tanto el tipo como el valor. No parece gran cosa pero es una potente herramienta de depuración de errores. Un simple ejemplo:
$albums = array ('Amaral', 'Estopa', 'Greenday');
print_r ($albums);
...como resultado
Array ( [0] => Amaral [1] => Estopa [2] => Greenday )
En la version 4.3 de PHP - La mayor actualización del lenguaje - tambien tienes la opción de capturar la salida de print_r(). La funcion toma un segundo parametro para este propósito. Usando el array definido anteriormete, se haría así:
$capture = print_r ($albums, 1);
3. Manejar tus errores
El resumen de errores programado por PHP ciertament no es de lo mejor. EL famoso "headers already sent" o "call to undefined function" que te aparece en negrita y con un número de línea que puede o no puede ser correctos.
Pero puedes programar tu propio manejador de errores.s:
function mis_errores ($numero, $mensaje, $archivo, $linea) {
// Añade el CSS para tu codigo
echo 'El siguiente error ocurrio en linea ' . $linea . ' del archivo ' . $archivo . ': ' . $mensaje . '
';
echo 'Las actuales variables son:
' . print_r($GLOBALS, 1) . '
';
}
Entonces usarás tu propio manejador por defecto y no el de PHP diciendoselo a PHP en la funcion set_error_handler().
set_error_handler('mis_errores');
Entonces ya la mayoría de los errores seran manejados por tu función (pero hay algunas excepciones). Con el anterior ejemplo los errores son imprimidos con formato html.
Deberia incluso plantearte la posibilidad de enviar estos errores via mail con la funcion mailto y de esta manera tendras un control en tiempo real de tu sitio, o incluso manejar errores en la conexión a una base de datos.
try {
if (!@mysql_connect('localhost', 'username', 'password'))
throw new Exception (mysql_error());
} catch (Exception $e) {
echo 'Imposible conectar a la base de datos: ' . $e->getMessage();
}
Por supuesto estos son ejemplos muy básicos; hay muchas más funcionalidades que le puedes añadir.
4. Búsqueda rápida de un directorio
Si eres un veterano desarrollador de PHP alguna vez habrás programado un album de fotos y habrás necesitado localizar todas las imágenes disponibles de un directorio por ejemplo o quizas los archivos txt porque ellos almacenan datos relecantes para tu aplicación.
Cualquiera de los casos requiere el uso de la función opendir(), habrás utilizado readir() en un bucle, y finalmente closedir(). En el interior del bucle debes utilizar un expresión regular para asegurarte de que cada archivo sea el correcto. Pues hay una manera aún más sencilla...
Esta función encuentra archivos que se rigen por un mismo patrón, si por ejemplo quisieras buscar imágenes:
$dir = './imagenes/personales/directorio';
// Imagenes a buscar.
$files = glob ("$dir/{*.jpg,*.jpeg,*.gif}", GLOB_BRACE);// Confirmar que ha sido incluido el patron.
if (is_array($files)) {// Bucle.
foreach ($files as $image) {
echo "$image
\n";
}} else {
echo 'No han sido encontradas imagenes';
}
Hay muchas otras constantes aprate de GLOB_BRACE que puedes usar para devolver archivos pero devilverian resultados desordenados o solo el nombre del directorio.
5. Limpiando tu HTML
HTML Tidy es un pequela utilidad para desarrolladores web. Esta utilidad analiza las páginas HTML y te ayuda a:
* Encontrar errores HTML
* Limpia el desorden creado por el IDE
* Mejora la accesibilidad de tus paginas
* Comprime el codigo y mejora el tiempo de descarga
* Etc...
HTML Tidy esta creciendo y empieza a ser incluido en numerosas aplicaciones.
Fuente en Inglés:
Five Things You Didn't Know You Could Do with PHP





CODIGO PHP
HOLA AMIGO ME PUEDES AYUDAR EN UN CODIGO PARA QUE MIS USUARIOS PONGAN COMNETARIOS A CADA FOTO RESPECTIVAMENTE
UN
AMIGO
RST
y los post????
y respondan los post, que para algo fueron creados.
la gente no esta para perder el tiempo en paginas desactualizadas y sin interes en los q navegan en ellas.
aunque creo q esto ni siquiera lo leeran , igual se los digo por si alguien se interesa.......
He encontrado algunas de sus
He encontrado algunas de sus respuestas y las pueden encontrar aqui:
http://www.gratisweb.com/alelacayo
Saludos
Alexa
esto ya lo habia visto
esto ya lo habia visto publicado en otra parte ,
es puro copiar y pegar.
igual es un aporte, pero mencionen al creador por ultimo.
Gracias.
Te agradezco mucho tu esmero por compartir el conocimiento que vaya a saber Dios cuanto esfuerzo te ha costado. A mí me resulta muy útil y claro tu sitio. Te mando un gran saludo desde Santa Fe, Argentina.
VARIABLES
HOLA, TENGO UN PROBLEMITA, QUIERO COMPARAR UN AVARIABLE CONTRA UNA LISTA SEPARADA POR COMAS Y NOSE COMO SE HACE EJEMPLO:
$PROMOS="3,6,9,12,15,18,21";
tengo un loop de 1 a xx
cada vuelta debo saber si
if()$contador = $promos
hago una cosa
sino otra
Mas entendible
//crea el arreglo, notese que el array empieza en cero
$promos = array (0=>3,4,5,8,9,10,11,12,17,18,19,20,24,26);
//compara tu variable contra el arreglo
if (in_array($var,$promo)) echo 'si esta'; else echo 'no esta';
Espero que te sirva, si tienes dudas escribeme
pp_vela@hotmail.com
RE:
En php hay una instruccion llamada in_array($var_a_buscar,$array) devuelve un booleano true o false.
prueba con eso.
if ($var==true) { tus instrucciones }
consulta
Primero que nada los felicito por el website lo veo bastante completo, pero tengo una duda y espero me puedan ayudar, quiero poder capturar fotos en tiempo real a traves de una webcam con php como controlador del evento de captura.
Por ejemplo: cuando exista una entrada de informacion como un codigo de un IDcard la camara capture la foto de la persona. claro en la pagina estaria un cuadro o un marco que muestre lo que la camara esta enfocando, espero haberme explicado y que ustedes me puedan ayudar, gracias de ante mano.
como generar un nuemro automatico dete un tabla con sql
como realizo que se me genere el numero siguinte de mi tabla alumnos por ejemplo
tengo el cqampo idalumno=a-001 y que se me genere automaticamente idalumno=a-002
AAAAYYYY la verdá
Ay, la verdá es que me pareció fantasmidable, toda esa exuberación de ingeniosidad que aporta el código.
Hay también unos comentario poco buena onda de unos tipo que no tienen respeto por nadas y ni por nadies. Seguro que ahora le faltan el respeto a esta pobre dama indefensa...
Despué me vienen a decir que aca no hace falta el servicio militar, me vienen a decir. vos podes creer, el otro dia que yyyyyyyyyyyyyyyyyyyyy!!!!!!!!!!!!
unas verdaderas felicitaciones, para los que piensen que y no de que.
Felice fiesta, de esas que se usan ahora... San Valiente, Jalouin, y esas yerbas yanqui que no se la tragan ni ello, pero ahora los chico festejan porque son como las modas viste, un tiempo se usan pelucas, despue se festeja el jalouin, despues dejas de usar PHP porque es una porquería y te pasas a Java si sos inteligente y te da para entender lo que estás programando, son modas algunas pasajeras, otras pajeras y otras no.
Saludos y perdon si me extendí demasiado. Mushos Bexios muac, chuic chuic
Donde se coloca la funcion de error propio?
Quisiera saber donde he de colocar la funcion para poder personalizar los errores, en una carpeta propia del servidor o he de modificar el php.ini o que.... donde se pone?
La linea que llama a la funcion se ha de coloar en cada página de código o dondeç
Gracias por vuestra ayuda.
Marcos
marcos@esdecos.com
Comentario
Muy buenos consejos, llevaba tiempo buscando por donde comenzar a tratar los errores que marca php.
Felicidades!!!.
Interesante
me gusto eso de manejar errores, edito algunas paginas de manera directa con el servidor y no me muestra errores seguro es una configuracion probare con el codigo a ver si puedo ver los errores =D y trabajar mejor =)
Algo mal
Es "Que no sabias ahcer con php5" ya que php4 no permite modificar los falta.
realmente esta bueno el log
me gusto bastante elte blog espero encontrar mas de estos especialmente sobre la creacion de funciones, por rjrmplo para que sirven, como se usan?, y todas esas cosas que uno cree saber pero realmente no se ha dado de cuenta de su gran magnitud
ivans67@hotmail.com
uo
uo
no hay nada nuevo
publica algo relevante ps man, funciones en php para jalar datos de las tablas
Me encanta este blog!!!
Hola, muy bueno el blog, cosas muuuuy interesantes. Blogs como este hay poquitisimos, y la mayoria en ingles.
En fin, buen trabajo!
Podrias conseguir algun articulo sobre optimizaciones en SQL?
Saludos, Eugenio
Enviar un comentario nuevo