Wzorzec Proxy – lazy loading, cache, kontrola dostępu i \Proxy w Magento 2 DI
Wzorzec Proxy kontroluje dostęp do innego obiektu. Klient myśli że rozmawiał z prawdziwym obiektem, a w rzeczywistości rozmawiał z pośrednikiem który może dodać cache, logowanie, lazy loading, kontrolę dostępu albo zdalny dostęp. W Magento 2 Proxy to wbudowany mechanizm – każda klasa z sufiksem \Proxy w kontenerze DI to właśnie ten wzorzec.
- Opublikowano w Wzorce projektowe
Hash Table – implementacja w PHP, O(1) lookup, deduplikacja i grupowanie
Tablica haszująca (hash table) to struktura danych z O(1) dla wstawiania, wyszukiwania i usuwania w przypadku średnim. PHP używa jej wewnętrznie dla tablic – każda tablica PHP to de facto hash mapa. Ale wiedza o tym jak działa pod spodem pozwala pisać wydajniejszy kod i rozumieć dlaczego pewne operacje są szybkie a inne zaskakująco wolne.
- Opublikowano w Algorytmy
Magento 2 checkout blokuje się na shipping step – timeout zewnętrznego carrier API
Checkout zawieszał się na kroku wyboru dostawy – spinner kręcił się w nieskończoność. Klienci nie mogli przejść dalej. Problem dotyczył 100% użytkowników na wszystkich przeglądarkach. Czas diagnozy: 2 godziny, naprawy: 20 minut.
- Opublikowano w Magento / Adobe Commerce
PHP named arguments i first-class callables – praktyczne zastosowania w pipeline
PHP 8.1 i 8.2 przyniosły named arguments i first-class callables – dwie funkcje które zmieniają sposób pisania kodu. Named arguments eliminują „argument order confusion” i poprawiają czytelność wywołań funkcji z wieloma parametrami. First-class callables zastępują Closure::fromCallable() i [$this, 'method'] czystą składnią func(...).
- Opublikowano w PHP
