Magento Blog: Guides and Practical Know-how | Page 353 | mironsoft
Magento Blog
-
Jan 17, 2025
Anyone who still references methods and functions through strings like 'strlen' or arrays like [$object, 'method'] gives up type checking, IDE refactoring, and reliable visibility checks. First-class callable syntax turns those references into real, parser-resolved expressions and closes one of the last string-based gaps in the language.
-
Jan 17, 2025
A drop cap, the enlarged initial letter at the start of a paragraph, was built in CSS for years using float, an estimated font-size, and a lot of manual tuning. The initial-letter property now handles the height and alignment calculation natively and allows precise control over how many lines the initial spans.
-
Jan 16, 2025
Password hashing directly determines how expensive it is for an attacker to crack each individual password after a database leak. Argon2id is now considered the preferred algorithm because it is memory-intensive and therefore resistant to GPU- and ASIC-backed attacks, while bcrypt with its CPU-bound cost function has worked as a solid standard for decades. This article shows how to correctly configure, salt, pepper, and migrate both algorithms in production using the PHP standard API password_hash() and password_verify().
-
Jan 16, 2025
The GitLab Runner is the engine of every pipeline: it executes the jobs defined in .gitlab-ci.yml. Which runner type fits Magento builds and deployments depends on isolation, performance, security requirements, and available infrastructure.
-
Jan 16, 2025
Starting Composer and npm from scratch costs minutes on every single build. The good news is that both package managers ship with robust local caches that can persist across Docker builds without inflating the image size. The key lies in correctly separating the lock file layer, the vendor layer and the cache mount, and in understanding which cache type is the right one for each situation.
-
Jan 16, 2025
A scroll progress bar shows readers of a long article at a glance how much content still follows and how far they have already come. With Alpine.js, this progress indicator can be built in a few lines, bound performantly to the scroll event, and shown either as a horizontal bar at the top or vertically on the page edge.
-
Jan 16, 2025
Global Magento stores lose revenue when every request has to travel across continents to reach the origin server. Edge functions move geolocation routing, A/B testing and image delivery to the nearest CDN node. The result is noticeably faster response times for customers in North America, Asia or Australia, without touching the core Magento logic running at the origin.
-
Jan 16, 2025
When a reporting query needs to combine data from two separate databases, many teams reach for an ETL pipeline by default: export data from system A, import it into system B, then join. Foreign data wrappers offer a more direct route. They expose an external data source, whether another relational database, a CSV file, or a REST API, as a virtual table inside your own database. From the query optimizer's perspective, that table looks like any other, with the same filtering, joining and aggregation options, but with different performance characteristics you need to understand.
-
Jan 16, 2025
A recursive CTE solves exactly the task where a normal query fails: traversing tree structures of unknown depth in a single SQL statement. With WITH RECURSIVE, category trees, org charts, and bills of materials are evaluated without application code and without a fixed nesting depth, as long as the anchor query, the recursive part, and the termination condition are defined cleanly.
-
Jan 16, 2025
Headless commerce with Magento GraphQL promises flexibility. In practice, Apollo Client configuration, type-safe code generation, SSR/SSG caching and fragment design decide whether the frontend stays fast and maintainable or turns into a complexity trap.