Download the PHP package popy/calendar without Composer
On this page you can find all versions of the php package popy/calendar. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download popy/calendar
More information about popy/calendar
Files in popy/calendar
Informations about the package calendar
PHP Calendar Library
This repository holds interfaces defining a Calendar, whose purpose is to manipulate (format, parse) php dates, and a few utilities and very basic implementations.
Installation
Usage
Output :
What's the point ?
A basically reproduce the behaviour of DateTime::format and DateTime::createFromFormat. the is only a decorator around these methods, so, what's the point ?
First, , and are implementable interfaces, removing some responsibilities for classes handling dates. The and even co a step further by handling themselves the format to use, so the classes having to deal with dates (parsing or displaying) do no longer have to deal with format or locale.
But this package containes also other components which can be used to compose a
implementation, allowing to :
- Implement a non-gregorian calendar
- Implement another formating syntax
- Extend the actual formating syntax
- Handle cases not supported by the native functions, such as parsing a date using iso8601 week & year numbers (already implemented in the package), or parse 5+ digits years (Y10k bug)
Preset Formater
The preset formater is a helper object taking any formater and a format as constructor parameter, allowing to be able to format a date without knowing which format is expected.
Inject it in any service dealing with date representation means they no longer have the responsibility to choose the format they are using (and not even the calendar). That's a way to have application-wide date format.
Output :
Preset Parser
The preset parser is a helper object taking any parse and a format as constructor parameter, allowing to be able to parse a date without knowing which format is expected.
Could be used, for instance, by a service hydrating data fetched from a webservice, without having to know which calendar/format is used.
Output :
Other components
- Factory
- Y10k & RFC 2550
- A Mars calendar ?