Category
stdlib · php-src-strict · ext/intl Locale · pillar 4
Problem
After #6696 / #20036 / #20738, Locale has getDisplayName, canonicalize, parseLocale, composeLocale, getKeywords, lookup, acceptFromHttp, filterMatches, but the per-component display getters and keyword mutators from php-src are still missing.
| Repro |
Zend (intl) |
VM PROFILE=8.4 (2026-07-19, 1510ad5a2) |
method_exists('Locale','getDisplayName') |
true |
true (English (United States)) |
getDisplayLanguage / getDisplayRegion / getDisplayScript / getDisplayVariant |
true |
false |
getAllVariants |
true |
false |
getKeywordValue / setKeywordValue |
true |
false |
php-src reference
PHP implementation target
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/issue_locale_display_methods.php'
Done when
Category
stdlib· php-src-strict · ext/intl Locale · pillar 4Problem
After #6696 / #20036 / #20738,
LocalehasgetDisplayName,canonicalize,parseLocale,composeLocale,getKeywords,lookup,acceptFromHttp,filterMatches, but the per-component display getters and keyword mutators from php-src are still missing.1510ad5a2)method_exists('Locale','getDisplayName')truetrue(English (United States))getDisplayLanguage/getDisplayRegion/getDisplayScript/getDisplayVarianttruefalsegetAllVariantstruefalsegetKeywordValue/setKeywordValuetruefalsephp-src reference
ext/intl/locale/locale.stub.php—getDisplayLanguage,getDisplayRegion,getDisplayScript,getDisplayVariant,getAllVariants,getKeywordValue,setKeywordValueext/intl/locale/locale_methods.c— display/keyword handlersPHP implementation target
ext/intl/VmLocale.php(+ method classes /locale_*procedural aliases as with Stdlib: Locale::canonicalize()/parseLocale()/composeLocale()/getKeywords() missing after #6696/#20036 (ext/intl/locale) #20738)uloc_*FFI pattern; no new C runtime logic.phptundertest/compliance/cases/intl/Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/issue_locale_display_methods.php'Done when
Locale::getDisplayLanguage('en_US','en')(and Region/Script/Variant) match Zend display stringsgetAllVariants/getKeywordValue/setKeywordValuepresent and php-src-shapedlocale_get_display_*/locale_get_keyword_*aliases registered where php-src has them.phptguard (VM+JIT)