For PHP5 applications, the all of the "aggregate" function family is now in runkit.
http://php.net/manual/en/ref.runkit.php
Fonctions d'agrégation d'objets/de composition de fonctions
Sommaire
- aggregate_info — Récupère les informations d'agrégation pour un objet donné
- aggregate_methods_by_list — Agrège sélectivement les méthodes d'une classe grâce à une liste
- aggregate_methods_by_regexp — Agrège sélectivement les méthodes d'une classe grâce à une expression rationnelle
- aggregate_methods — Agrège dynamiquement les méthodes d'une classe à un objet
- aggregate_properties_by_list — Agrège sélectivement les propriétés d'une classe grâce à une liste
- aggregate_properties_by_regexp — Agrège sélectivement les propriétés d'une classe grâce à une expression rationnelle
- aggregate_properties — Agrège dynamiquement les propriétés d'une classe à un objet
- aggregate — Agrège dynamiquement des classes et objets
- aggregation_info — Alias de aggregate_info
- deaggregate — Désagrège un objet
Fonctions d'agrégation d'objets/de composition de fonctions
kencomer at NOSPAM dot kencomer dot com
20-Sep-2005 06:04
20-Sep-2005 06:04
Jeb.
17-Jan-2003 11:18
17-Jan-2003 11:18
It is worth noting that class association does not work, even in PHP 4.3.0 - this ability is experimental. I'm assuming it was added in for the sake of forwards-compatibilty. Use object association instead for now.
Until it is implemented, you will receieve a parse error when attempting to use it.
Related bug report: http://bugs.php.net/bug.php?id=20531
Just to prevent people posting about "why it doesn't work??", etc etc etc.
Greg Beaver firstname at chiaraquartet dot net
05-Jan-2003 12:54
05-Jan-2003 12:54
If you need to serialize an object for sessions or other purposes, and want to save aggregation state, extend it from a base class such as this one, and use $this->agg/$this->unagg instead of aggregate/deaggregate
<?php
class base
{
var $_aggregates = array();
function agg($agg)
{
aggregate($this,$agg);
$this->_aggregates[$agg] = 1;
}
function unagg($agg = false)
{
if ($agg)
{
deaggregate($this,$agg);
unset($this->_aggregates[$agg]);
} else
{
deaggregate($this);
$this->_aggregates = array();
}
}
}
?>
