Date_Holidays
[ class tree: Date_Holidays ] [ index: Date_Holidays ] [ all elements ]

Source for file usingStandaloneDriver.php

Documentation is available at usingStandaloneDriver.php

  1. <?php
  2. /**
  3.  * Example how to use a driver to determine holidays
  4.  *
  5.  * PHP Version 5
  6.  *
  7.  * @category Date
  8.  * @package  Date_Holidays
  9.  * @author   Carsten Lucke <luckec@tool-garage.de>
  10.  * @license  http://www.php.net/license/3_01.txt PHP License 3.0.1
  11.  * @link     http://pear.php.net/package/Date_Holidays
  12.  */
  13.  
  14. require_once 'Date/Holidays.php';
  15.  
  16. /**
  17.  * Create a driver object using the factory method
  18.  *
  19.  * You must determine a valid driver-name.
  20.  * If you don't specify a locale, your system's locale will be used.
  21.  * If you don't specify a year, the current one will be used.
  22.  */
  23. $germany Date_Holidays::factory('Germany'2004'en_EN');
  24. if (Date_Holidays::isError($germany)) {
  25.     die('Factory was unable to produce driver-object');
  26. }
  27.  
  28. /**
  29.  * Now that you have created a driver, all the methods that Date_Holidays_Driver
  30.  * defines are available for usage. {@link Date_Holidays_Driver}
  31.  */
  32.  
  33.  
  34. /**
  35.  * Date holidays uses an internal name for each holiday and many methods
  36.  * require one as a parameter.
  37.  * The following method returns an array with internal names of all holidays
  38.  * the driver knows.
  39.  */
  40. $internalNames $germany->getInternalHolidayNames();
  41. print_r($internalNames);
  42.  
  43. /**
  44.  * Let's retrieve holiday data for Easter.
  45.  *
  46.  * On success an object will be returned, that contains
  47.  * the data about the requested holiday.
  48.  *
  49.  * You may specify a locale that differs from the driver's one
  50.  * to get data in other languages for single method calls.
  51.  */
  52. $easter $germany->getHoliday('easter''de_DE');
  53. if (Date_Holidays::isError($easter)) {
  54.     print_r($easter->toArray());
  55. }
  56.  
  57. /**
  58.  * This methods checks whether a specific date is a holiday.
  59.  *
  60.  * Valid params for $date are a string (YYYY-MM-DD),
  61.  * a timestamp and a PEAR::Date object
  62.  */
  63. $holiday $germany->getHolidayForDate('2004-06-10''de_DE'false);
  64. if (Date_Holidays::isError($holiday&& is_null($holiday)) {
  65.     print_r($holiday->toArray());
  66. }
  67.  
  68. /**
  69.  * Although you will certainly not use it very often, you may change the
  70.  * driver's locale setting. This will affect all methods that are executed
  71.  * after changing the locale!
  72.  *
  73.  * Many methods also accept a locale setting that
  74.  * will be temporarily used during the method's processing time.
  75.  */
  76. $germany->setLocale('de_DE');
  77.  
  78. /**
  79.  * As many driver may contain lots of holidays, most methods
  80.  * accept a param $restrict that allows you to limit the relevant holidays.
  81.  *
  82.  * If you don't specify $restrict, all holidays the driver knows will be processed.
  83.  */
  84. $restrict = array(
  85.     'goodFriday',
  86.     'easter',
  87.     'easterMonday',
  88.     'whitsun',
  89.     'whitMonday'
  90. );
  91. $titles $germany->getHolidayTitles($restrict);
  92. if (Date_Holidays::isError($titles)) {
  93.     print_r($titles);
  94. }
  95.  
  96. /**
  97.  * When you produce a driver the current year or the one you specified will be
  98.  * set and the holidays for this year will be calculated.
  99.  *
  100.  * To change the year at a later point you can use Date_Holidays_Driver::setYear().
  101.  * When doing so, the driver-class will automatically calculate the new year's
  102.  * holidays.
  103.  */
  104. echo $germany->getYear("\n";
  105. $whitsun2004 $germany->getHoliday('whitsun');
  106. if (Date_Holidays::isError($whitsun2004)) {
  107.     print_r($whitsun2004->toArray());
  108. }
  109. $germany->setYear(2005);
  110. $whitsun2005 $germany->getHoliday('whitsun');
  111. if (Date_Holidays::isError($whitsun2005)) {
  112.     print_r($whitsun2005->toArray());
  113. }
  114. ?>

Documentation generated on Tue, 22 Jan 2013 01:00:09 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.