How troydavisson/phrets works
PHRETS is a PHP client for retrieving real-estate listings, metadata, and media from RETS servers. The principal workflow configures a session, logs in to establish server capabilities, then issues metadata, search, or object requests; parsers turn responses into PHP models and collections. The graph distinguishes request orchestration, protocol transport, parsing, and returned data. Several parser and metadata implementations are unsampled, so their internal call relationships are omitted unless documented or visible in the source index.
Main entry points: Session.php RETS session · StandardStrategy.php Parser strategy · OneX.php Search parser · Configuration.php Configuration
Components 24
Session and configuration
- Configuration
src/Configuration.php - RETS session
src/Session.php - Server capabilities
src/Capabilities.php - Parser strategy
src/Strategies/StandardStrategy.php - Strategy contract
src/Strategies/Strategy.php - RETS version
src/Versions/RETSVersion.php
RETS transport
- HTTP client
src/Http/Client.php - HTTP response
src/Http/Response.php
Response parsing
- Search request formatting
src/Interpreters/Search.php - Object ID formatting
src/Interpreters/GetObject.php - Login parsers
src/Parsers/Login - Search parser
src/Parsers/Search/OneX.php - Recursive search parser
src/Parsers/Search/RecursiveOneX.php - Object parsers
src/Parsers/GetObject - Metadata parsers
src/Parsers/GetMetadata - XML parser
src/Parsers/XML.php
Results and metadata
- Search results
src/Models/Search/Results.php - Search record
src/Models/Search/Record.php - Retrieved object
src/Models/BaseObject.php - Login bulletin
src/Models/Bulletin.php - Metadata models
src/Models/Metadata - RETS error model
src/Models/RETSError.php
Other components
- PHP application
- RETS server
Connections 32
- PHP application → Configuration: configures
- PHP application → RETS session: creates session
- Configuration → RETS session: initializes
src/Configuration.php - Configuration → Parser strategy: selects strategy
src/Configuration.php - Configuration → RETS version: sets version
src/Configuration.php - RETS session → Server capabilities: tracks endpoints
src/Session.php - RETS session → HTTP client: creates client
src/Session.php - RETS session → RETS server: sends RETS requests
- RETS server → HTTP response: returns responses
- HTTP response → Search parser: provides response
src/Parsers/Search/OneX.php - HTTP response → Object parsers: provides response
src/Parsers/GetObject/Multiple.php - Parser strategy → Login parsers: dispatches login
src/Strategies/StandardStrategy.php - Parser strategy → Search parser: registers parser
src/Strategies/StandardStrategy.php - Parser strategy → Recursive search parser: registers parser
src/Strategies/StandardStrategy.php - Parser strategy → Object parsers: registers parsers
src/Strategies/StandardStrategy.php - Parser strategy → Metadata parsers: registers parsers
src/Strategies/StandardStrategy.php - Parser strategy → XML parser: registers parser
src/Strategies/StandardStrategy.php - RETS session → Search request formatting: formats query
src/Session.php - RETS session → Search parser: dispatches search
src/Session.php - RETS session → Recursive search parser: dispatches recursive
src/Session.php - RETS session → Object ID formatting: formats object IDs
src/Interpreters/GetObject.php - RETS session → Metadata parsers: requests metadata
src/Parsers/GetMetadata/System.php - RETS session → Login parsers: logs in
- Search parser → XML parser: parses XML
src/Parsers/Search/OneX.php - Search parser → Search results: builds results
src/Parsers/Search/OneX.php - Search parser → Search record: creates records
src/Parsers/Search/OneX.php - Recursive search parser → Search results: returns results
src/Parsers/Search/RecursiveOneX.php - Object parsers → Retrieved object: builds objects
src/Parsers/GetObject/Single.php - Object parsers → RETS error model: sets errors
src/Parsers/GetObject/Single.php - Login parsers → Login bulletin: provides details
- Metadata parsers → Metadata models: builds metadata
- Search results → Metadata models: loads table metadata
src/Models/Search/Results.php