open-feature / open-feature/php-sdk

[FEATURE] Implement Tracking in PHP

Open
#133 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Needs Triage
Dominant language
PHP
Stars
43
Forks
14
Avg merge
4d 12h
Merged PRs (30d)
4

Description

Requirements

Implement tracking as per spec: https://github.com/open-feature/spec/commit/cd99c3560a68c1810971be19b87ea803fb9b0b3a

Functional requirements:

  • implement all the features described here

Non functional requirements:

  • use as many existing abstractions and implementations as possible
    • ie: tracking event details should likely use similar underlying functionality to evaluation context / structure
  • provider interface(s) are modified to optionally support tracking; not all providers will support it
  • associated testing and README entry (see markdown snippet below)
  • no breaking changes

README addition (be careful to correctly link to #hooks and #providers and update the code snippet for the language in question

### Tracking

The tracking API allows you to use OpenFeature abstractions and objects to associate user actions with feature flag evaluations.
This is essential for robust experimentation powered by feature flags.
For example, a flag enhancing the appearance of a UI component might drive user engagement to a new feature; to test this hypothesis, telemetry collected by a hook(#hooks) or provider(#providers) can be associated with telemetry reported in the client's `track` function.

{example-language-in-question}

Note that some providers may not support tracking; check the documentation for your provider for more information.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked OpenFeature specification commit and compare its tracking requirements with the PHP SDK's existing evaluation context and provider abstractions. Define the optional provider support without breaking existing users, then add associated tests and the README Tracking section with the PHP example and corrected links.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
api, backend, documentation, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.