Skip to content
CAI
Produce a survey ↗Verify a survey

myclabs/DeepCopy

This system is a PHP library designed for deep copying objects, providing a robust mechanism to recursively clone complex object graphs while handling edge cases like private properties, inheritance, and internal PHP classes. It features a flexible filtering and matching API that allows users to customize how specific types, properties, or Doctrine entities are processed during the copy operation. The library supports modern PHP features, including typed properties, enums, and readonly properties, ensuring accurate cloning across various object structures.

60.8

Adequate · 2 August 2026

1.2k

lines of production code

PHP

primary language

3

bus factor · 43 authors in all

3

measurements over time

CAI band scale
CAI trend line

How it got here

2013 · filter and matcher API expansion

This period focused on significantly expanding the library's customization capabilities by introducing a new matching and filtering system. The core API was refactored to support chainable filters and property matchers, enabling users to selectively deep copy or modify specific object properties. The work also included updating test coverage and dependencies to support these new features.

9 changes

2014–2017 · Deep copy feature expansion and testing

This period focused on extending the library's deep copy capabilities to support complex PHP types, including Doctrine proxies, SPL collections, and date/time objects. The team also introduced new exception classes and type filtering mechanisms to improve error handling and control over cloning behavior. Comprehensive unit tests were added to verify the correctness of these new features and existing reflection helpers.

14 changes

2019–2024 · PHP version and feature support

This period focused on expanding test coverage for deep copy operations across various PHP versions and language features. New fixtures were introduced to support PHP 7.4 typed properties, PHP 8.1 enums, and readonly properties, alongside specialized test cases for Doctrine proxies and extended ArrayObject instances.

5 changes

CAI lens gauges

Survey your own repository

myclabs/DeepCopy was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 2 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 5ee4e978b7 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.
CAI link cards