open-feature / open-feature/php-sdk
[FEATURE] Implement Tracking in PHP
Nobody has claimed this yet.
- 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 detailsshould likely use similar underlying functionality to evaluation context / structure
- ie:
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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