miércoles, 20 de mayo de 2009

Subida múltiple de ficheros con SWFUpload

Esta librería combina lo mejor de flash y javascript para realizar subida múltiple de ficheros. Podemos incluso crear una barra de progreso con javascript.
La documentación y toda la información necesaria se puede encontrar en la web del proyecto.
Las demos están aquí.

sábado, 2 de mayo de 2009

¿cuándo usar iteradores?

¿Cuándo usar iteradores?
Hay tres casos en los que usar iteradores es extremádamente útil:
  1. Utilizamos un paquete o librería que devuelve un iterador.
  2. Cuando queremos procesar un vasto número de elementos.
  3. Cuando no hay otra manera de obtener todos los elementos de una colección con una sóla llamada.
La alternativa a los iteradores son los vectores (arrays). Los iteradores aportan una interfaz uniforme y encapsulación. Si utilizamos vectores podemos beneficiarnos de las funciones de php, cómo sort, array_search, array_combine, array_merge ... Para la gestión de muchos elementos, hay que tener en cuenta que el iterador gestiona mejor la memoria (sólo asigna memoria para el elemento actual).

jueves, 30 de abril de 2009

iterators (iteradores) en PHP5

Ejemplo de iteradores de la librería SPL, a partir de php5 está incluída por defecto.


<?php

class Animal{

private $name;

function
__construct($name){

$this->name = $name;


}

function
get_name(){

return
$this->name;

}

}

/*** array de objetos ***/

$perro = new Animal('perro');


$gato = new Animal('gato');

$cerdo = new Animal('cerdo');

$array = array($perro, $gato);




/*** crear el array de objetos ***/

$arrayObj = new ArrayObject($array);



/*** añadir un objeto al array ***/


$arrayObj->append($cerdo);



/*** iterar el array ***/

for($iterator = $arrayObj->getIterator();


/*** checkear si es válido ***/

$iterator->valid();

/*** mover al siguiente objeto del array ***/


$iterator->next())

{

/*** imprimir la posición y el valor actual del array de objetos ***/


echo $iterator->key() . ' -> ' . $iterator->current()->get_name() . '<br />';


}



?>







El resultado es:

0 -> perro

1 -> gato

2 -> cerdo

miércoles, 1 de abril de 2009

Recursos php / php resources