1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Gestion de l'itérateur PHP
*
* @package SPIP\Core\Iterateur\PHP
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Créer une boucle sur un itérateur PHP
*
* Annonce au compilateur les "champs" disponibles, c'est à dire
* 'cle', 'valeur' et toutes les méthodes de l'itérateur désigné.
*
* @param Boucle $b
* Description de la boucle
* @param string $iteratorName
* Nom de l'itérateur à utiliser
* @return Boucle
* Description de la boucle complétée des champs
*/
function iterateur_php_dist($b, $iteratorName) {
$b->iterateur = $iteratorName; # designe la classe d'iterateur
$b->show = array(
'field' => array(
'cle' => 'STRING',
'valeur' => 'STRING',
)
);
foreach (get_class_methods($iteratorName) as $method) {
$b->show['field'][strtolower($method)] = 'METHOD';
}
/*
foreach (get_class_vars($iteratorName) as $property) {
$b->show['field'][ strtolower($property) ] = 'PROPERTY';
}
*/
return $b;
}
|