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
  · Documents
  · 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


Tour d'horizon du package

Tour d'horizon du package

Tour d'horizon du package --  Tour d'horizon des classes de Calendar

Tour d'horizon du package

Lorsque vous travaillez avec PEAR::Calendar, il y'a un total de 12 classes (publiques) disponibles pour vous aider à résoudre les problèmes que vous rencontrez. On peut les grouper en classes de dates, dates tabulaires, validation et décorations.

Classes de dates

Elles fournissent une représentation de toutes les unités humaines basiques de dates. Elles héritent toutes de Calendar et fournissent les méthodes définies par la suite :

  • Calendar_Year - représente une année et peut contruire des objets Calendar_Month, Calendar_Month_Weekdays et Calendar_Month_Weeks.

    Inclure avec :
    require_once 'Calendar/Year.php';

  • Calendar_Month - représente un mois et peut construire des objets Calendar_Day.

    Inclure avec :
    require_once 'Calendar/Month.php';

  • Calendar_Day - représente un jour et peut contstruire des objets Calendar_Hour.

    Inclure avec :
    require_once 'Calendar/Day.php';

  • Calendar_Hour - représente une heure et peut construire des objets Calendar_Minute.

    Inclure avec :
    require_once 'Calendar/Hour.php';

  • Calendar_Minute - représente une minute et peut construire des objets Calendar_Second.

    Inclure avec :
    require_once 'Calendar/Minute.php';

  • Calendar_Second - représente une seconde et ne peut construire aucun objet.

    Inclure avec :
    require_once 'Calendar/Second.php';

Classes de Dates Tabulaires

Permet de construire des calendriers au format tabulaire. Ce sont toutes des sous classes de Calendar, elles disposent donc des mêmes méthodes.

  • Calendar_Month_Weekdays - construit des objets Calendar_Day en réglant les états isFirst(), isLast() et isEmpty() afin d'afficher un mois sous forme tabulaire.

    Inclure avec :
    require_once 'Calendar/Month/Weekdays.php';

  • Calendar_Month_Weeks - construit des objets Calendar_Week en représentant un mois en fonction des semaines tabulaires qu'il contient (consultez la FAQ pour la représentation des semaines).

    Inclure avec :
    require_once 'Calendar/Month/Weeks.php';

  • Calendar_Week - construit 7 objets Calendar_Day. S'ils sont étendus par un objet Calendar_Month_Weeks, ils représentent une semaine tabulaire d'un mois et ils réglent l' état isEmpty() si nécessaire pour les jours appropriés.

    Inclure avec :
    require_once 'Calendar/Week.php';

Classes de Validation

Permet de valider des dates. Calendar fournit les méthodes isValid() afin de faire une vérification simple sur n'importe quelle date et getValidator() qui renvoie une instance de Calendar_Validator pour une validation plus fine.

  • Calendar_Validator - n'est pas instancié automatiquement dans votre code (vous devez inclure / le créer). Pour le créer utilisez la méthode Calendar::getValidator() que vous pouvez utiliser sur n'importe quelle sous classe de Calendar. Cette méthode permet d'avoir des informations de validité détaillées et ainsi de trouver la source de l'erreur pour des objets de Date ou de Date Tabulaire.

  • Calendar_Validation_Error - représente une erreur de validation, fournit des méthodes pour détermnier la source de l'erreur. Les méthodes disponibles sont getUnit() (renvoie Year ou Month), getValue() (la valeur de l'erreur), getMessage() (le message d'erreur de validation) et toString() qui renvoie une combinaison des trois méthodes précédentes. Les messages d'erreur de validation sont en Anglais par défaut. Il sont définis par les constantes CALENDAR_VALUE_TOOSMALL et CALENDAR_VALUE_TOOLARGE qui peuvent être redéfinies dans votre code.

Les Décorateurs

Fournit un mécanisme permettant d'ajouter des fonctionnalités aux principaux objets Calendar (les sous classes de Calendar) sans avoir besoin de les étendre (et prendre le risque d'écraser des champs accidentellement). Pour créer un décorateur, vous devez passer un objet Calendar au constructeur. Vous pourrez alors faire des appels au décorateur au lieu de les faire sur l'objet d'origine. Cela vous permettra de réécrire les méthodes de Calendar, ajouter de nouvelles méthodes ou même appliquer des décorateurs multiples au même objet Calendar. Les décorateurs peuvent être injecté (via une sélection ou le décorateur Calendar_Decorator_Wrapper ) dans la boucle générant le calendrier afin de modifier son contenu (pour par exemple convertir des valeurs numériques en textes : 1 -> janvier).

PEAR::Calendar fournit des implémentations de décorateurs afin d'effectuer les tâches communes. Celles-ci ne correspondront pas aux besoins de tous et sont fournies en tant que code optionnel (afin de ne pas détériorer les performances si vous ne les utilisez pas).

  • Calendar_Decorator - C'est la classe de base des décorateurs. Etendez cette classe pour créer vos propres décorateurs. Elle fournit la même API que la classe Calendar qu'elle agrémente et renvoie simplement les appels vers elle. Exemple;
    require_once 'Calendar/Decorator.php';
    
    class ChristmasDecorator extends Calendar_Decorator
    {
        function ChristmasDecorator(&$Calendar)
        {
            parent::Calendar_Decorator($Calendar);
        }
        // Quelques méthodes ajoutées
        function getDaysToChristmas()
        {
            $today = parent::thisDay(true);
            $Christmas = new Calendar_Day(date('Y'), 12, 25);
            $xmasday = $Christmas->thisDay(TRUE);
            $diff = $xmasday - $today;
            if ($diff < 0) {
                $NextChristmas = new Calendar_Day($Christmas->nextYear(), 12, 25);
                $nextxmasday = $NextChristmas->thisDay(true);
                $diff = $today - $nextxmasday;
            }
            return ($diff / 86400);
        }
    }

  • Calendar_Decorator_Uri - Fournit un décorateur permettant de générer des URLs (Par exemple prec. / suivant).

    Inclure avec :
    require_once 'Calendar/Decorator/Uri.php';

  • Calendar_Decorator_Textual - permet d'obtenir des mois et jours sous forme de textes à partir d'un objet calendar.

    Inclure avec :
    require_once 'Calendar/Decorator/Textual.php';

  • Calendar_Decorator_Wrapper - permet d'ajouter des décorateurs aux fils de l'objet Calendar que vous utilisez. Le fils sera englobé par le décorateur spécifié au moment de l'appel à fetch() ou à fetchAll(), après un appel à build().

    Inclure avec :
    require_once 'Calendar/Decorator/Wrapper.php';


Manuel PEAR 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