Content · Web Development · PHP

PHP Anonymous Classes: Patterns and Examples

PHP Anonymous Classes: Patterns and Examples: Anonymous classes can implement interfaces or extend classes for local adapters and test doubles. See three examples and important limitations.

2 views Published Oct 17, 2026 Updated Oct 17, 2026 admin

Anonymous classes can implement interfaces or extend classes for local adapters and test doubles.

The examples below begin with the core behavior, then move to an application-oriented use.

How PHP Anonymous Classes: Patterns and Examples Works


Anonymous classes can implement interfaces or extend classes for local adapters and test doubles.

Example 1: Basic Usage


This example uses a small input to make the main behavior visible.

<?php

interface Translator { public function translate(string $word): string; }
$translator = new class implements Translator { public function translate(string $word): string { return strtoupper($word); } };
echo $translator->translate("welcome");

Output:

WELCOME

Anonymous classes can implement interfaces or extend classes for local adapters and test doubles.

Example 2: A Different Input


A different set of values shows the same operation in another situation.

<?php

$formatter = new class("USD") { public function __construct(private string $currency) {} public function format(int $amount): string { return $amount . " " . $this->currency; } };
echo $formatter->format(25);

Output:

25 USD

Do not hide large production components inside anonymous classes; keep the implementation narrow.

Practical Example: Applying the Feature


This example shows an application-style use of the feature, with its surrounding setup visible.

<?php

interface CacheStore { public function get(string $key): ?string; }
$cache = new class implements CacheStore { public function get(string $key): ?string { return $key === "theme" ? "dark" : null; } };
echo $cache->get("theme");

Output:

dark

The code is shown for learning. Adjust the class names, inputs and error handling to suit your application.

Important Behavior and Edge Cases


  • Do not hide large production components inside anonymous classes; keep the implementation narrow.
  • Anonymous classes can implement interfaces or extend classes for local adapters and test doubles.
  • Observe differences in empty inputs, invalid states and optional extension availability where relevant.

Comparison With Related Approaches


ApproachImportant Difference
PHP Anonymous Classes: Patterns and ExamplesAnonymous classes can implement interfaces or extend classes for local adapters and test doubles.
Alternative approachClosures are lighter for a single callback, while anonymous classes suit multiple methods.

Common Beginner Mistakes


MistakeCorrect Approach
Ignoring the documented state or precondition of PHP Anonymous Classes: Patterns and ExamplesDo not hide large production components inside anonymous classes; keep the implementation narrow.
Expecting a different type of resultRead the declared return type and distinguish returned values from changes to the source object.
Assuming a related API works identicallyClosures are lighter for a single callback, while anonymous classes suit multiple methods.

Key Takeaways


  • Anonymous classes can implement interfaces or extend classes for local adapters and test doubles.
  • Do not hide large production components inside anonymous classes; keep the implementation narrow.
  • Use the example that matches the values, runtime version and dependencies in your application.

PHP Anonymous Classes: Patterns and Examples is useful when its behavior matches the data structure and lifecycle of your PHP application. Choose it with a clear understanding of its preconditions and returned values.

Share this resourceSend this page to someone who may find it useful.