지원되는 PHP 런타임: Datadog PHP API를 사용하는 PHP 7 이상, 또는 OpenFeature 어댑터를 사용하는 PHP 8 이상
OpenFeature PHP SDKopen-feature/sdk 버전 2.1 이상(OpenFeature 어댑터를 사용하는 경우)
다음 환경 변수를 설정하세요.
# Required: Enable the feature flags providerexportDD_EXPERIMENTAL_FLAGGING_PROVIDER_ENABLED=true# Required: Enable Remote Configuration in the SDKexportDD_REMOTE_CONFIG_ENABLED=true# Required: Service identificationexportDD_SERVICE=<YOUR_SERVICE_NAME>
exportDD_ENV=<YOUR_ENVIRONMENT>
exportDD_VERSION=<YOUR_APP_VERSION>
# Required for flag evaluation metricsexportDD_METRICS_OTEL_ENABLED=true
EXPERIMENTAL_ 접두사는 이전 버전과의 호환성을 위해 유지됩니다. 공급자 자체는 안정적입니다.
필수 트레이서 버전 및 Agent OTLP 설정을 포함하여 feature_flag.evaluations를 구성하는 방법은 서버 측 플래그 평가 메트릭 설정을 참조하세요. 사용 가능한 그래프에 대한 자세한 정보는 [Feature Flag 그래프][7]를 참조하세요.
설치
Feature Flagging 기능은 Application Performance Monitoring(APM)을 통해 제공됩니다. Tracing PHP Applications에 따라 Datadog PHP 트레이서를 설치하고 구성하세요.
PHP 8 애플리케이션에서 OpenFeature 어댑터를 사용하는 경우 OpenFeature PHP SDK를 설치하세요.
composer require open-feature/sdk:^2.1
SDK 초기화
PHP 런타임 및 애플리케이션 아키텍처에 맞는 API를 선택하세요.
PHP 7 및 PHP 8: Datadog API
PHP 7 또는 PHP 8 애플리케이션에서 DDTrace\FeatureFlags\Client를 직접 사용하세요.
OpenFeature 공급자는 Remote Configuration이 초기 플래그 구성을 전달할 때까지 기본값을 반환합니다. 비즈니스 로직이 플래그를 평가하기 전에 플래그 구성이 로드될 수 있도록 애플리케이션 시작 초기에 공급자를 초기화하세요.
평가 컨텍스트 설정
플래그 타겟팅을 위해 사용자 또는 엔티티를 식별하는 평가 컨텍스트를 정의하세요. 타겟팅 키는 백분율 롤아웃과 같은 일관된 트래픽 분산에 사용됩니다. 추가 속성을 사용하면 ‘미국 사용자에 대해 활성화(enable for users in the US)’ 또는 ‘프리미엄 등급 사용자에 대해 활성화(enable for premium tier users)‘와 같은 타겟팅 규칙을 설정할 수 있습니다.
Datadog API
Datadog PHP API의 경우, targetingKey 및 attributes 키가 포함된 배열로 컨텍스트를 전달하세요.
평가 컨텍스트 속성은 중첩되지 않은 원시 값(문자열, 숫자, 불리언)이어야 합니다. 중첩된 배열, 객체 및 null 값은 타겟팅 및 노출 보고에서 무시됩니다.
플래그 평가
클라이언트를 설정한 후에는 애플리케이션 전체에서 Feature Flags를 평가할 수 있습니다. 각 플래그는 고유한 문자열 키로 식별되며 예상 유형의 값을 반환하는 타입별 메서드로 평가됩니다. 각 Feature Flag가 존재하지 않거나 평가할 수 없는 경우, SDK는 제공된 기본값을 반환합니다.
불리언 플래그
on/off 또는 true/false 조건을 나타내는 플래그에는 getBooleanValue를 사용합니다.
PHP 트레이서에 DD_METRICS_OTEL_ENABLED=true가 설정되면 Datadog에 플래그 평가 횟수가 나타납니다. 각 평가는 플래그 키, 결과 변형, 평가 이유로 태그가 지정된 feature_flag.evaluations 카운터 메트릭을 내보냅니다. 이 메트릭이 나타나지 않으면 환경에 DD_METRICS_OTEL_ENABLED=true가 설정되어 있는지, 그리고 PHP 트레이서 버전이 플래그 평가 메트릭을 지원하는지 확인하세요. Agent OTLP 수신기 설정 및 문제 해결에 대해서는 서버 측 플래그 평가 메트릭 설정을 참조하세요.
실험 노출
노출은 실험과 관련된 플래그에 대해서만 Datadog에 나타납니다. 실험과 연결되지 않은 표준 기능 플래그는 노출 이벤트를 생성하지 않습니다. 노출이 누락된 경우:
Datadog UI에서 플래그가 실험과 연결되어 있는지 확인하세요.
Agent의 DD_API_KEY가 올바른지, Agent가 이벤트를 수신하고 있는지 확인하세요.
평가 컨텍스트가 중첩되지 않은 원시 속성을 사용하는지 확인하세요. 중첩된 배열, 객체 및 null 값은 노출 보고에서 무시됩니다.