Skip to content

Add PHP SDK support (11 reference files)#40

Draft
donald-pinckney wants to merge 4 commits intodevfrom
feature/add-php-support
Draft

Add PHP SDK support (11 reference files)#40
donald-pinckney wants to merge 4 commits intodevfrom
feature/add-php-support

Conversation

@donald-pinckney
Copy link
Collaborator

Summary

  • Added 11 PHP reference files covering patterns, testing, error handling, determinism, versioning, data handling, observability, advanced features, gotchas, and the language entry point (php.md)
  • Updated SKILL.md to include PHP trigger phrases, overview, and getting started guide
  • Updated core/determinism.md SDK Protection Mechanisms to describe PHP's runtime command-ordering checks
  • Total: ~1,955 lines of PHP-specific content matching the Python reference style (code-first, minimal prose)

Key PHP-specific decisions

  • PHP has no sandbox — determinism enforced via runtime command-ordering checks only
  • PHP uses RoadRunner as application server (unique to PHP)
  • PHP uses generators with yield for async (not async/await)
  • PHP uses PHP 8 attributes (#[WorkflowInterface], etc.) on interfaces

Correctness verification

  • Verified against official Temporal PHP SDK docs via context7 and temporal-docs MCP
  • 6 correctness fixes applied (dynamic handler params, continueAsNew signature, heartbeat API, search attribute API)

Test plan

  • Review PHP code examples against official SDK samples
  • Spot-check patterns.md, php.md, and versioning.md for accuracy
  • Verify SKILL.md trigger phrases work correctly

🤖 Generated with Claude Code

donald-pinckney and others added 4 commits March 16, 2026 18:31
Created PHP reference content for: patterns, testing, error-handling,
determinism, determinism-protection, versioning, data-handling,
observability, advanced-features, gotchas, and php.md (language entry).
Code-first style matching Python reference.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Renamed sections to match Python reference style (6 section name fixes)
- observability.md: replaced full Search Attributes content with ref to data-handling.md
- gotchas.md: removed extra subsection already covered in php.md
- versioning.md: expanded Worker Versioning to match Python verbosity

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- patterns.md: Fixed dynamic handler params (array -> ValuesInterface),
  continueAsNew signature (added yield, string type + array args),
  heartbeat details API (hasHeartbeatDetails + typed getHeartbeatDetails)
- data-handling.md: Fixed SearchAttributeKey import path (added
  SearchAttributes sub-namespace), TypedSearchAttributes::new() +
  withSearchAttribute(), valueSet() instead of withValue()

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SKILL.md: Added "Temporal PHP" trigger phrase, updated overview to
  include PHP, added PHP getting started guide reference
- core/determinism.md: Added PHP entry to SDK Protection Mechanisms
  describing runtime command-ordering checks (no sandbox)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant