Evitar navegación.
Principal

5 cosas que no sabías hacer con PHP

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

Enlaces Relacionados


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

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato