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.