fix(php): Pass environment instead of options to sub-clients when multiUrl is enabled #10767
+4
−16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Refs https://github.com/fern-demo/payroc-php-sdk/pull/4
Fixes a bug in the PHP SDK generator where sub-clients were incorrectly receiving
$this->options(array) instead of$this->environment(Environments object) as their second constructor parameter in multi-URL environments.Problem
The original logic was too restrictive when determining what to pass to sub-client constructors:
subpackage.service != nullAND if the first endpoint had abaseUrl$this->optionswhen they expectedEnvironments $environmentChanges Made
RootClientGenerator.ts:
isMultiUrlis true, always pass$this->environmentto all sub-clientsSubPackageClientGenerator.ts:
hasBaseUrlflag instead of checking each nested subpackage's endpointsisMultiUrl && hasBaseUrl), pass it to nested sub-clientsTesting
pnpm run check)Review Checklist
Critical items to verify:
$environmentfield, it should pass that environment to ALL its sub-clients (not just those with specific endpoint configurations)Context: