Symfony polyfill for intl's Normalizer class and related functions
2.1k
Stars
4
Forks
0
Open issues
17
Contributors
AI Analysis
This Symfony component provides a fallback implementation of PHP's Normalizer class for environments where the Intl extension is unavailable. It serves PHP developers who need Unicode normalization support across inconsistent server configurations, ensuring portable string handling. This is a specialized compatibility shim, not a general-purpose library—it is most valuable for framework users and library authors distributing code that must work in restricted hosting environments.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
PHP polyfill for Unicode text normalization, part of Symfony's compatibility layer
Symfony Polyfill / Intl: Normalizer provides a fallback implementation of PHP's Normalizer class for environments where the PECL intl extension is unavailable or disabled. It enables Unicode normalization (NFC, NFD, NFKC, NFKD forms) across PHP applications without requiring the intl extension as a hard dependency. Used primarily by PHP frameworks and libraries that need broad compatibility across hosting environments where intl support varies.
Created in October 2015 as part of Symfony's polyfill ecosystem—a systematic effort to provide backward compatibility and extension-free fallbacks for PHP functionality. The polyfill collection emerged from Symfony's philosophy of maximizing portability without forcing users to maintain complex conditional logic.
Steady adoption since 2015, with 2,072 GitHub stars reflecting stable, predictable use rather than rapid growth. Growth has been flat (0 stars in last 7 days as of 2026-07-01) but consistent, indicating mature project status rather than declining interest. Star count reflects integration into many dependency trees rather than high-volume new discoveries.
Adoption not verified by concrete metrics in provided data. However, inclusion in Symfony's official polyfill collection and dependency by PHP frameworks/libraries using intl functionality suggests widespread indirect use. No public adoption statements, case studies, or usage statistics provided. Adoption likely spans any PHP application that: (1) requires intl functionality, (2) cannot guarantee PECL intl extension availability, and (3) uses Symfony or Composer-based dependency management.
Based on README, this is a compatibility shim providing fallback implementations of Normalizer class and related functions. Likely implements Unicode normalization algorithms (NFC, NFD, NFKC, NFKD) in pure PHP. Architecture appears to be a drop-in replacement following PSR standards. README does not detail internal structure, algorithm choices, or performance characteristics.
Not documented in README. No information provided about test suite scope, coverage metrics, or testing strategy.
Last push 2026-05-25 (36 days prior to analysis date), indicating active maintenance. Project has been continuously maintained for ~11 years (2015-2026). Minimal fork activity (4 forks) and relatively low star velocity suggest stable, mature project that does not generate frequent breaking changes or major architectural rewrites. Maintenance appears reactive and steady rather than feature-driven.
ADOPT IF: You require Unicode text normalization in PHP applications and cannot guarantee PECL intl extension availability, or prefer single-source dependency management via Composer. AVOID IF: You have control over environment and can mandate intl extension availability, or your application has no Unicode normalization requirements. MONITOR IF: You currently rely on native intl and are considering fallback strategies for broader hosting compatibility, or tracking Symfony ecosystem direction for long-term maintenance assurance.
Independent dimensions
Mainstream potential
3/10
Technical importance
6/10
Adoption evidence
4/10
- Pure PHP fallback implementation likely slower than native intl extension; performance impact for high-volume Unicode processing not quantified in README.
- Algorithm correctness for Unicode normalization in pure PHP is non-trivial; README provides no independent validation or audit evidence.
- Dependency on Symfony ecosystem health and release cadence; if Symfony project declines, polyfill maintenance may follow.
- Unicode standard evolution requires periodic updates; unclear if maintenance includes tracking new Unicode versions.
- No documented guarantee of feature parity with native intl extension; edge cases or newer normalization forms may diverge.
Will remain a stable, low-growth utility within PHP ecosystem. Expected to maintain current adoption level and slow release cadence as long as Symfony project remains active. Unlikely to see significant growth unless broader PHP ecosystem shifts toward universal intl support or away from shared hosting constraints.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- PHP
- License
- MIT
- Last updated
- 2mo ago
- Created
- 130mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Top contributors
Similar repos
symfony/polyfill-intl-icu
This package provides fallback implementations of PHP's Intl extension for...
symfony/polyfill-intl-idn
This Symfony polyfill provides PHP implementations of `idn_to_ascii` and...
symfony/polyfill-intl-grapheme
This Symfony polyfill provides a native PHP implementation of the Intl...
symfony/polyfill-util
Symfony Polyfill / Util provides PHP utilities for ensuring code portability...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
2.1k | — | PHP | 7/10 | 2mo ago |
|
|
2.6k | — | PHP | 8/10 | 2mo ago |
|
|
3.4k | — | PHP | 7/10 | 1mo ago |
|
|
1.7k | — | PHP | 8/10 | 1w ago |
|
|
1.3k | — | PHP | 7/10 | 1mo ago |
|
|
1.8k | — | PHP | 8/10 | 2mo ago |
Larger polyfill (7,830 stars) for multibyte string functions; serves broader use case but similar architectural pattern. Both are maintained within Symfony ecosystem.
Related polyfill (3,363 stars) for internationalized domain names. Both address intl extension gaps but for different Unicode operations.
Character type checking polyfill (4,043 stars); similar scope and maintenance model, though ctype is more commonly available natively than intl.
Direct alternative when available; polyfill exists precisely because intl cannot be assumed to be present on all hosting environments.
Some projects implement normalization locally or rely on external services; Symfony's polyfill offers standard, centralized fallback.