<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_Whois is a component to simply check the availability of domain names and ip addresses and fetch whois server responses about them.Zend Framework: Zend_Whois Component Proposal
Proposed Component Name
Zend_Whois
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Whois
Proposers
Ben Scholzen (lead)
Simone Carletti (contributor)
Revision
1.0 - 6 September 2007: Initial proposal
1.1 - 29 December 2007: Proposal rewrite
1.2 - 30 December 2007: Zend_Whois_Result added
1.3 - 13 January 2008: Finalized proposal (added support for Zend_Uri and last improvements) (wiki revision: 21)Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This component will check for registration availability of domain names.
- This component will allow fetching of server responses.
- This component will not return specific data about domain owners (as a first version), as the output varies from most of the whois servers.
- This component will allow caching results via Zend_Cache.
- This component will be customizable. It will shipped with a default list of whois server that can be completely overwritten or customized.
- This component will allow querying multiple domains simultaneously through a non-blocking socket.
4. Dependencies on Other Framework Components
- Zend_Exception
- Zend_Cache
- Zend_Uri
- Zend_Config (as soon as this component will correctly support XML attributes)
5. Theory of Operation
Zend_Whois will take a Zend_Whois_Config as constructor arguments.
If empty, default configuration set will be loaded from XML.
Once you have a valid instance, it can then be used to either get a whois response from a whois server or to check whether given domain is available.
The former returns a full whois response, the latter only true/false according to whois response.
Domain name can be one of the following formats:
- string, just the domain name (zend.com)
- string, full host name (framework.zend.com, zend.com, http://framework.zend.com)
- string, full path (framework.zend.com/path, zend.com/path, http://framework.zend.com/path)
- Zend_Uri instance
Regardless the format, internally Zend_Whois will handle all host names as an instance of Zend_Uri.
Depending on Zend_Uri Improvements - Shahar Evron proposal implementation, Zend_Uri instance will use http schema or a custom one.
6. Milestones / Tasks
- Milestone 1: [DONE] Creating base class
- Milestone 2: [DONE] Supporting all major Top-Level-Domains
- Milestone 3: [DONE] Checking current state into http://zend_whois.svn.dasprids.de/
- Milestone 4: [DONE] Finalizing the proposal and making it ready for review
- Milestone 5: Proposal acceptance and import of current prototype to incubator SVN
- Milestone 6: Unit tests exist and development.
- Milestone 7: Documentation
7. Class Index
- Zend_Whois
- Zend_Whois_Exception
- Zend_Whois_Config
- Zend_Whois_Result