symfony

symfony/polyfill-intl-normalizer

PHP MIT Dev Tools

Symfony polyfill for intl's Normalizer class and related functions

2.1k stars
4 forks
slow
GitHub

2.1k

Stars

4

Forks

0

Open issues

17

Contributors

v1.38.0 25 May 2026

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.

Dev Tools Library Discovery value: 3/10
Documentation 6/10
Activity 8/10
Community 5/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

polyfill intl-compatibility unicode-normalization symfony-component fallback-implementation
Actively maintained MIT licensed Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
1w ago

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.

Origin

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.

Growth

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.

In production

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.

Code analysis
Architecture

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.

Tests

Not documented in README. No information provided about test suite scope, coverage metrics, or testing strategy.

Maintenance

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.

Honest verdict

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

Risks
  • 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.
Prediction

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.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

PHP
100%

Information

Language
PHP
License
MIT
Last updated
2mo ago
Created
130mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Open issues

No open issues — clean slate.

Open pull requests

Similar repos

symfony

symfony/polyfill-intl-icu

This package provides fallback implementations of PHP's Intl extension for...

2.6k PHP Dev Tools
symfony

symfony/polyfill-intl-idn

This Symfony polyfill provides PHP implementations of `idn_to_ascii` and...

3.4k PHP Dev Tools
symfony

symfony/polyfill-intl-grapheme

This Symfony polyfill provides a native PHP implementation of the Intl...

1.7k PHP Dev Tools
symfony

symfony/polyfill-util

Symfony Polyfill / Util provides PHP utilities for ensuring code portability...

1.3k PHP Dev Tools
symfony

symfony/polyfill-iconv

This Symfony component provides a native PHP implementation of the iconv...

1.8k PHP Dev Tools
vs. alternatives
symfony/polyfill-mbstring

Larger polyfill (7,830 stars) for multibyte string functions; serves broader use case but similar architectural pattern. Both are maintained within Symfony ecosystem.

symfony/polyfill-intl-idn

Related polyfill (3,363 stars) for internationalized domain names. Both address intl extension gaps but for different Unicode operations.

symfony/polyfill-ctype

Character type checking polyfill (4,043 stars); similar scope and maintenance model, though ctype is more commonly available natively than intl.

Native PHP intl extension

Direct alternative when available; polyfill exists precisely because intl cannot be assumed to be present on all hosting environments.

Custom normalization implementations

Some projects implement normalization locally or rely on external services; Symfony's polyfill offers standard, centralized fallback.