Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andaniel05/ObjectCollection

Clase PHP que representa una colección de objetos de un mismo tipo.
https://github.com/andaniel05/ObjectCollection

Last synced: about 2 months ago
JSON representation

Clase PHP que representa una colección de objetos de un mismo tipo.

Awesome Lists containing this project

README

        

ObjectCollection
================

Representa una colección de objetos de un mismo tipo.

## Funcionamiento interno

Internamente se usa un array nativo para almacenar los elementos. En el constructor de la clase se tiene que especificar el tipo de elementos que se almacenarán. Este tipo de elementos puede ser tanto un nombre de clase como de interfaz. En el momento de insertar elementos se va a chequear que el tipo de ese nuevo elemento se corresponda con el que se especificó en el constructor de la clase, por lo que se garantiza que el array solo contendrá elementos del tipo especificado.

## Requerimientos

PHP 5.3+

## Ejemplos de uso

Ejemplo1. Operaciones básicas con la clase.

```php
name = $name;
$this->age = $age;
}
}

$andy = new Person('andy', 27);
$andria = new Person('andria', 35);
$sonia = new Person('sonia', 52);
$antonio = new Person('antonio', 54);

$collection = new ObjectCollection('Person');

// Inserción con índices.
$collection['andy'] = $andy;
$collection['andria'] = $andria;

// Inserción sin índices (añade al final del array).
$collection[] = $sonia;
$collection[] = $antonio;

// Recorridos en forma de array. Hay garantía de que $person será siempre una
// instancia de la clase Person.
foreach ($collection as $index => $person) {
echo "Index: {$key}, Name: {$person->getName()}, Age: {$person->getAge()}\n";
}

// Contar elementos.
echo count($collection); // Devuelve 4.

// Obtener elementos.
$andy1 = $collection['andy'];

// Comprobar existencia de elementos.
echo isset($collection['andy']); // Devuelve TRUE.

// Eliminar elementos.
unset($collection['andria']);

// Obtener el array de la colección.
$array = $collection->getArray();

```

Ejemplo2. Creación de un tipo de colección personalizada.

```php