PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

PHP / Magento trends 2025 – FrankenPHP, AI tooling update, OpenSearch, Hyvä consolidation

by Henryk Tews / Tuesday, 07 January 2025 / Published in PHP

2025 is shaping up as a year of consolidation in the PHP ecosystem. FrankenPHP changes how PHP applications are deployed. AI tooling has matured from “experimental toy” to “daily assistant”. OpenSearch has fully replaced Elasticsearch in the Magento ecosystem. Hyvä has become the default frontend choice. I review where things stand and what is worth learning in the next twelve months.

FrankenPHP – a new deployment model

# FrankenPHP embeds PHP directly into a Go web server (Caddie)
# Key features:
# - Worker mode: boot your app once, keep it in memory, handle multiple requests
# - No PHP-FPM overhead per request
# - Built-in HTTPS with automatic certificate renewal
# - HTTP/3 support
# - Compatible with Laravel, Symfony, and increasingly Magento 2

# Installation
curl -fsSL https://frankenphp.dev/install.sh | bash

# Run in worker mode (Laravel example)
frankenphp php-server --worker public/index.php --num-workers 4

# For Magento 2: experimental but maturing
# Worker mode is incompatible with Magento's bootstrap unless patched
# Safe approach: use FrankenPHP as PHP-FPM replacement (no worker mode yet)
# docker-compose.yml with FrankenPHP instead of nginx + PHP-FPM
services:
  frankenphp:
    image: dunglas/frankenphp:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./:/app
    environment:
      SERVER_NAME: shop.example.com
      # FrankenPHP replaces both nginx and PHP-FPM in one container

AI tooling update – where we are in 2025

Task 2023 verdict 2025 verdict
Boilerplate generation Good Excellent
Test generation Good Very good
Magento-specific code Often wrong Better, still needs review
Code review/analysis Useful for patterns Reliable for common issues
Architecture questions Good for generic PHP Good, Magento still needs expertise
Debugging complex errors Hit or miss Consistently useful
# AI tooling landscape in 2025:

# GitHub Copilot: mature, IDE integration, best for inline completion
# Cursor IDE: AI-native IDE, strongest for refactoring and multi-file changes
# Claude: best for reasoning about complex code, architecture, reviews
# Ollama (local): privacy-safe, CodeLlama/Qwen2.5 Coder models
#   ollama pull qwen2.5-coder:7b  # good balance speed/quality
#   ollama pull deepseek-coder-v2  # strong coding model

# What changed: context windows grew dramatically (128K+ tokens)
# Can now paste an entire Magento module and ask questions about it

OpenSearch 2.x – Magento ecosystem consolidation

# OpenSearch became the de facto standard for Magento 2.4.6+
# Magento 2.4.8 dropped official Elasticsearch support

# In DDEV: OpenSearch add-on
ddev get ddev/ddev-opensearch

# Config
ddev exec bin/magento config:set catalog/search/engine opensearch
ddev exec bin/magento config:set catalog/search/opensearch_server_hostname opensearch
ddev exec bin/magento config:set catalog/search/opensearch_server_port 9200
ddev exec bin/magento indexer:reindex catalogsearch_fulltext

# OpenSearch Dashboards (replaces Kibana)
# Available at http://localhost:5601 after ddev get ddev/ddev-opensearch

Hyvä consolidation

# Hyvä ecosystem in 2025:
# - Hyvä Theme: stable, mature, clear winner for new projects
# - Hyvä Checkout: replaces Knockout.js checkout with Alpine.js
# - Hyvä Commerce: full suite including B2B
# - Module compatibility: 95%+ of popular modules have Hyvä versions

# What changed from 2023:
# - Checkout customisation is much simpler (no more deep RequireJS diving)
# - More learning resources, official Hyvä docs improved significantly
# - DDEV integration: ddev get ddev/ddev-hyva

# Magento 2 new project default in 2025:
# Backend: PHP 8.4, Magento 2.4.8
# Search: OpenSearch 2.x
# Cache: Redis (separate object/FPC/session instances)
# Frontend: Hyvä Theme
# Deployment: DDEV (dev), Docker Compose (prod)

PHP roadmap for 2025

PHP 8.4 (released Nov 2024) - current, in production
  Property hooks, asymmetric visibility, lazy objects, BcMath\Number

PHP 8.5 (Nov 2025 expected)
  RFCs under discussion:
  - Pipe operator (|>) - still controversial, may ship
  - Readonly property cloning - cleanup
  - Generic types via docblock enforcement (PHPStan integration)
  - pipe() function as alternative to pipe operator

PHP 9.0 (2026 target)
  - Remove all deprecated functions from 8.x series
  - Dynamic property creation = fatal error
  - Clean up legacy APIs

Recommendation for 2025:
  - Upgrade to PHP 8.4 now (supported until Nov 2027)
  - Follow PHP 8.5 RFCs at https://wiki.php.net/rfc
  - Run PHPStan level 8 on new code

Summary

2025 in the PHP/Magento ecosystem is about consolidation: stable technologies, mature tooling, and clear best practices. FrankenPHP is worth watching but not yet production-ready for Magento. AI coding tools are genuinely useful daily assistants with well-understood limitations. OpenSearch and Hyvä are the settled choices for their respective roles. The most productive investment is deepening expertise in the established stack rather than chasing every new thing.

About Henryk Tews

What you can read next

PHP 7.2 – object type hint, sodium instead of mcrypt, deprecations

© 2026 Created by

TOP
Zarządzaj zgodą
Aby zapewnić jak najlepsze wrażenia, korzystamy z technologii, takich jak pliki cookie, do przechowywania i/lub uzyskiwania dostępu do informacji o urządzeniu. Zgoda na te technologie pozwoli nam przetwarzać dane, takie jak zachowanie podczas przeglądania lub unikalne identyfikatory na tej stronie. Brak wyrażenia zgody lub wycofanie zgody może niekorzystnie wpłynąć na niektóre cechy i funkcje.
Funkcjonalne Always active
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Zobacz preferencje
  • {title}
  • {title}
  • {title}