Skip to content

Trait Composition

How PHP K8s uses traits to compose resource functionality.

Overview

PHP K8s uses trait-based composition instead of deep inheritance hierarchies. This allows resources to mix and match functionality as needed.

Pattern

php
class K8sPod extends K8sResource
{
    use HasSpec;
    use HasStatus;
    use HasMetadata;
    use HasSelector;

    // Resource-specific methods
}

Available Traits

See Resource Traits for complete list.

Benefits

  • Flexibility - Resources only include traits they need
  • Reusability - Traits can be used across different resources
  • Maintainability - Changes to traits affect all resources using them
  • No Diamond Problem - Avoid multiple inheritance issues

See Also


Trait composition documentation for cuppett/php-k8s fork

Released under the Apache-2.0 License. Originally from renoki-co/php-k8s.