PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Dynamic programming – memoization, knapsack, LCS, memoize decorator

  • 0
Henryk Tews
Tuesday, 07 December 2021 / Published in Algorytmy

Dynamic programming is one of those techniques that sounds intimidating but is built on one simple idea: remember results you have already computed so you do not compute them again. Memoization, the knapsack problem, Longest Common Subsequence – I implement them all in PHP and show a reusable memoize decorator that works with any callable.

(more…)

PHP 8.1 preview – enums, readonly properties, intersection types, Fibers

  • 0
Henryk Tews
Tuesday, 09 November 2021 / Published in PHP

PHP 8.1 is due in November 2021 and brings the most significant type system additions since PHP 7.0. Enums solve a problem we have been working around with class constants for years. Readonly properties close the final gap in immutable value objects. Intersection types complete the union types from PHP 8.0. Fibers introduce cooperative multitasking. I go through each with practical examples.

(more…)

PimCore – CMS + PIM + DAM, object classes, Data Hub GraphQL, Magento integration

  • 0
Henryk Tews
Tuesday, 12 October 2021 / Published in PHP, PIM

PimCore is an open-source platform that combines CMS, PIM, DAM and e-commerce capabilities in one system. It is less known than Akeneo in PIM circles but offers something Akeneo does not: a full content management layer alongside product data. I show the architecture, object classes that define the data model, the Data Hub GraphQL API, and integration with Magento 2.

(more…)

GitHub Actions – PHP pipeline, test matrix, staging deploy via SSH

  • 0
Henryk Tews
Tuesday, 14 September 2021 / Published in Środowiska

GitHub Actions turned CI/CD from a DevOps speciality into something any developer can set up in an afternoon. For PHP projects it means automatic test runs, static analysis, and deployment to staging on every pull request – without maintaining a Jenkins server. I show a practical pipeline for a PHP/Magento project with a test matrix and SSH deployment.

(more…)

Proxy pattern – lazy loading, access control, caching, Proxy in Magento 2

  • 0
Henryk Tews
Tuesday, 10 August 2021 / Published in Magento 2, Wzorce projektowe

Proxy is a structural pattern that places a surrogate in front of an object to control access to it. Three practical scenarios justify Proxy: lazy loading (deferring expensive creation), access control (checking permissions before executing), and caching. Magento 2 generates Proxy classes automatically for a specific purpose – I show both the GoF pattern and the Magento implementation.

(more…)

UI Components – data grid, DataProvider, custom columns, XML configuration

  • 0
Henryk Tews
Tuesday, 13 July 2021 / Published in Magento 2

Magento 2 UI Components are the backbone of the admin panel – every grid, form and mass-action uses them. They are also one of the most complex parts of the platform. I show how the data grid works, how to write a DataProvider, add custom columns, and configure everything through XML without touching the JavaScript layer.

(more…)

React.js – JSX, useState, useEffect, custom hooks, comparison with Vue

  • 0
Henryk Tews
Tuesday, 08 June 2021 / Published in JavaScript

After covering Vue.js in September, it is time for React – currently the most popular frontend library for building interactive UIs. React thinks differently from Vue: everything is a function, state flows one way, and JSX looks like HTML in JavaScript. I show the fundamentals from a PHP developer’s perspective and compare the two approaches.

(more…)

BFS and DFS – graph traversal, shortest path, cycle detection

  • 0
Henryk Tews
Tuesday, 11 May 2021 / Published in Algorytmy

BFS and DFS are fundamental graph traversal algorithms. They appear in unexpected places in web development: finding the shortest path between categories in a tree, detecting circular dependencies between modules, or checking if two nodes in a social graph are connected. I implement both in PHP with practical examples.

(more…)

Cron in Magento 2 – groups, custom jobs, admin schedule, debugging

  • 0
Henryk Tews
Tuesday, 13 April 2021 / Published in Magento 2

Magento 2’s cron system is responsible for dozens of background tasks – reindexing, sending emails, cleaning cache, synchronising with external systems. Writing your own cron job is straightforward, but understanding groups, scheduling, and how to debug when a job is not running saves hours. I show the complete picture.

(more…)

Command pattern – undo, CommandBus, macros, Magento 2 queue integration

  • 0
Henryk Tews
Tuesday, 09 March 2021 / Published in Wzorce projektowe

The Command pattern encapsulates an operation as an object. This sounds abstract until you see the concrete benefits: undo/redo, operation queuing, logging, retry logic – all flow naturally from treating commands as first-class objects. I show the classic GoF implementation, CommandBus, and integration with the Magento 2 message queue.

(more…)

  • 8
  • 9
  • 10
  • 11
  • 12

© 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}