Skip to content

ZammadClient Foundation #116

@derpixler

Description

@derpixler

The skeleton that all S4 features are built on — without this, no other S4 issue can start.

ZammadClient is the entry point class implementing ClientInterface. Constructor accepts a RequestHandlerInterface — all HTTP communication is delegated, no direct Guzzle dependency. The class holds a $repos cache array for memoized repository instances.

RepositoryRegistry must already exist (S3 scope) — all resource resolution flows through it. The class structure, namespace (ZammadAPIClient), and DI-compatible constructor are the foundation that 4.1 (connect), 4.2 (__call), 4.3 (resource wrapper integration), and 4.4 (onBehalfOf) depend on.

Produces:

  • ZammadClient (class skeleton with constructor)

Acceptance Criteria

  • Testing: php -l + phpcs — ZammadClient compiles, DI constructor accepts RequestHandlerInterface
  • Documentation in README: README "Quick Start" — ZammadClient::connect() first line

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Task.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions