Magento Blog: Guides and Practical Know-how | Page 86 | mironsoft
Magento Blog
-
Jan 22, 2026
PHPUnit finds runtime errors, but only if the corresponding tests exist. PHPStan and Psalm find type errors statically, before the code is ever executed. Only the combination of both approaches closes the gaps that each tool leaves open on its own. This article shows how to integrate PHPStan, Psalm and PHPUnit as a continuous quality chain in PHP projects.
-
Jan 22, 2026
A TypeScript library with dozens of internal modules produces just as many individual type declaration files on a standard build, with no visibility into which of them actually belong to the public API. API Extractor solves exactly this problem: a single rollup, a machine readable API report acting as a contract test, and release tags that spell out exactly what consumers are allowed to use.
-
Jan 22, 2026
Anyone who only knows setup:upgrade, cache:flush and indexer:reindex is giving up most of the diagnostic and maintenance power the Magento CLI actually offers. Hidden gems such as dev:di:info, indexer:set-mode, maintenance:allow-ips and admin:user:unlock solve concrete problems in seconds that would otherwise require manual database queries, code searches or a full maintenance blackout.
-
Jan 22, 2026
The HTML element <ruby> together with <rt> and <rp> displays small annotation text, so-called ruby annotations, directly above or beside individual characters. In Japanese and Chinese content, these annotations explain the pronunciation and meaning of whole character blocks, and for international shops with an East Asian audience they are not a niche feature but a standard requirement.
-
Jan 21, 2026
Teams that write commit messages however they feel like lose the ability to evaluate changes programmatically and plan releases automatically. Conventional Commits standardizes the format around type(scope): description, turning the commit history into a reliable foundation for automated changelogs, semantic version numbers, and fully automated releases, all without manual steps in the CI/CD pipeline.
-
Jan 21, 2026
The Observer Pattern decouples a state holder from the pieces of code that need to react to its changes, with no direct references between them at all. From a minimal subject class through the native EventTarget interface to WeakRef-based cleanup, this article shows how to implement the Observer Pattern robustly in plain JavaScript.
-
Jan 21, 2026
Up through PHP 8.0, the spread operator in array literals only worked with numeric keys, associative arrays still had to be merged with array_merge. Since PHP 8.1, spread syntax supports string keys directly. We cover the difference from the classic numeric spread, collision behavior, and when switching away from array_merge actually pays off.
-
Jan 21, 2026
Once a single Redis master hits its capacity limit, replication alone is no longer enough. Redis Cluster automatically distributes data across 16384 fixed hash slots spread over multiple nodes, computes each key's assignment via CRC16, and lets hash tags give precise control over which keys must land together on the same node.
-
Jan 21, 2026
A LATERAL join lets a subquery in FROM or JOIN access columns of the preceding table within the same statement, something an ordinary join or an ordinary subquery cannot do. That makes top-N-per-group queries, dynamic per-row calculations, and multi-column table function calls possible, using LATERAL in PostgreSQL, and CROSS APPLY plus OUTER APPLY in SQL Server.
-
Jan 21, 2026
The WCAG splits its success criteria into three conformance levels: A, AA and AAA. Understanding what each level technically requires lets you set realistic goals instead of vaguely hoping for full completeness. This article explains the differences between the levels, why AA is the right legal and practical target for most commercial websites, and which individual AAA criteria are still worth adopting selectively.