Page 324 - Maxim Mironjuk
-
Maxim Mironjuk
-
February 17, 2025
Service Contracts, Data Interfaces, SearchCriteriaBuilder and REST API: build custom repositories that guarantee stable APIs across upgrades.
-
Maxim Mironjuk
-
February 17, 2025
A Hyvä update that suddenly changes the structure of the mini-cart component hits projects especially hard when the core has been copied directly in several places instead of overridden through the fallback system. This article shows how to reliably spot breaking changes in Hyvä releases, why the fallback principle structurally separates custom code from parent updates, and what testing strategy actually provides safety before a Hyvä major update.
-
Maxim Mironjuk
-
February 17, 2025
Hyvä's default search box only jumps to the results page once you press Enter, showing no suggestions while you type. Live Search autocomplete in the Hyvä header closes exactly that gap: a GraphQL suggestion query returns products, categories, and prices, a lean Alpine.js component handles debouncing, request cancellation, and keyboard navigation, and CSP-compliant rendering keeps the shop safe and fast at the same time.
-
Maxim Mironjuk
-
February 17, 2025
Vulnerabilities in production dependencies tend to get taken seriously, while test and dev dependencies like PHPUnit plugins or coverage tools are often ignored. Yet exactly these packages run with full privileges in the CI/CD pipeline and form a real entry point for supply chain attacks, one composer audit can uncover deliberately.
-
Maxim Mironjuk
-
February 16, 2025
An unencrypted SQLite database on a device can be read in plain text with a file manager or rooted access. SQLCipher closes that gap by transparently encrypting the entire database file without changing the familiar SQL interface. This article covers how it works, key management, and the realistic performance cost.
-
Maxim Mironjuk
-
February 16, 2025
A GitLab pipeline made up of a single long script block is not a CI/CD process, it is automated chaos. Only once Build, Test, Package, Deploy, Verify and Rollback are modeled as distinct stages does a pipeline become traceable, rollback capable and workable for a whole team.
-
Maxim Mironjuk
-
February 16, 2025
PHPStan is the most powerful static analyzer for PHP, but in Symfony projects teams quickly hit limits: magic methods in repositories, Doctrine column types that differ from PHP types, container parameters without types and complex generic annotations. This article shows how to systematically bring PHPStan in Symfony to level 9.
-
Maxim Mironjuk
-
February 16, 2025
position:sticky is one of the most useful CSS features for modern layouts, and one of the most misunderstood. The sticky class in Tailwind CSS is quick to write, but without top, without a parent height, and with overflow on an ancestor, it gets silently ignored.
-
Maxim Mironjuk
-
February 16, 2025
A webhook endpoint is, by definition, publicly reachable and accepts data from an external service without the ability to apply the application's usual login mechanism. Without cryptographic signature verification, anyone who knows the URL can in principle inject arbitrary payloads and trigger business actions such as a payment confirmation or an order status change. This article shows how to build a dedicated webhook controller in Symfony, how to verify an HMAC signature safely against timing attacks using hash_hmac and hash_equals, when the built-in Symfony webhook component fits, and how to process repeated deliveries of the same event idempotently.
-
Maxim Mironjuk
-
February 15, 2025
A single prefers-reduced-motion rule in a single component does not solve a team problem. Only a central motion token system with clear tiers, automated testing and documented patterns ensures that every new animation in the project automatically takes proper account of motion sensitivity.
-