sebastianbergmann/exporter

Provides the functionality to export PHP variables for visualization

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 12 minutes ago
Added to GitGenius on September 9th, 2026
Created on February 4th, 2013
Open Issues & Pull Requests: 1 (+0)
GitHub issues: Enabled
Number of forks: 40
Total Stargazers: 6,810 (+0)
Total Subscribers: 9 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.7 hours
Mean response time: 356.5 days
90th percentile: 2257.7 days
Tracked items: 7

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 117 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (2)
  • bug (1)
  • type/dependencies (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Exporter is a PHP library that provides functionality to export PHP variables for visualization.

The library solves the problem of representing PHP variables in a human-readable format for debugging and testing purposes. It handles both simple types like strings and integers and complex types like objects and arrays. The core approach uses an Exporter class that converts variables into string representations, with support for detecting repeated object occurrences and replacing subsequent references with pointers to avoid duplication. Developers can customize how specific object types are exported by implementing the ObjectExporter interface and registering exporters with the Exporter constructor, or by composing multiple exporters into a chain that consults them in order.

The tool is well-suited for projects that need to display variable contents in test output, error messages, or debugging contexts. It is particularly valuable in testing frameworks where compact, stable representations of data sets are required for test names and assertions. The library's handling of object references and nested structures makes it useful when dealing with complex object graphs. Developers should choose this tool when they need fine-grained control over how specific object types are represented, rather than relying on default serialization.

Development activity shows consistent maintenance with regular updates addressing edge cases and improving the handling of complex scenarios. The project demonstrates attention to subtle behaviors such as how self-referential objects are handled and how nested values within custom object exporters maintain proper export context. Work has focused on ensuring that compact export representations remain stable and deterministic across multiple invocations, which is critical for use cases like data provider test naming.