Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


aggregate_info

aggregate_info

(no version information, might be only in CVS)

aggregate_info --  Retourne un tableau associatif avec les méthodes et propriétés de chaque classe qui a été agrégée

Description

array aggregate_info ( object object )

aggregate_info() retourne un tableau associatif avec les méthodes et propriétés de chaque classe qui a été agrégée pour former l'objet object. La clé du tableau principal est le nom de la classe agrégée.

Pour un exemple, voir le code ci-dessous.

Exemple 1. Exemple avec aggregate_info()

<?php

class Slicer {
    var
$legume;

    function
Slicer($legume) {
        
$this->legume = $legume;
    }

    function
slice_it($num_cuts) {
        echo
"Coupe en tranches\n";
        for (
$i=0; $i < $num_cuts; $i++) {
            
// coupe en tranches
        
}
    }
}

class
Dicer {
    var
$legume;
    var
$rotation_angle = 90;   // degrés

    
function Dicer($legume) {
        
$this->legume = $legume;
    }

    function
dice_it($num_cuts) {
        echo
"Couper dans une direction\n";
        for (
$i=0; $i < $num_cuts; $i++) {
            
// coupe
        
}
        
$this->rotate($this->rotation_angle);
        echo
"Couper dans une seconde direction\n";
        for (
$i=0; $i < $num_cuts; $i++) {
            
// coupe encore
        
}
    }

    function
rotate($deg) {
        echo
"Maintenant tourne {$this->legume} {$deg} degrees\n";
    }

    function
_secret_super_dicing($num_cuts) {
        
// tellement secret que nous ne pouvons vous montrer ;-)
    
}
}

$obj = new Slicer('onion');
aggregate($obj, 'Dicer');
print_r(aggregate_info($obj));
?>

L'exemple ci-dessus va afficher :

Array
(
    [dicer] => Array
        (
            [methods] => Array
                (
                    [0] => dice_it
                    [1] => rotate
                )

            [properties] => Array
                (
                    [0] => rotation_angle
                )

        )

)
Comme vous pouvez le voir, toutes les méthodes et propriétés de la classe dicer ont été agrégées dans notre nouvel objet, à l'exception de la classe constructeur et de la méthode privée _secret_super_dicing

Voir aussi aggregate(), aggregate_methods(), aggregate_methods_by_list(), aggregate_methods_by_regexp(), aggregate_properties(), aggregate_properties_by_list(), aggregate_properties_by_regexp() et deaggregate().


Manuel PHP pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx