phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
[propozycja] phpBB by Przemo - next gen
Autor Wiadomość
irekk


Pomógł: 283 razy
Posty: 2934
Wysłany: 09-04-2026, 10:13   [propozycja] phpBB by Przemo - next gen

Hello,

Projekt już dawno kaput, ale z nudów udało mi się opracować kompletny projekt techniczny wysokiego poziomu. Wrzucam tutaj jego skrót jako materiał poglądowy — może komuś się przyda jako punkt wyjścia lub inspiracja.

Założenie: Strangler Fig — stary system działa, nowy wyrasta obok

Obydwa systemy współdzielą tę samą bazę MySQL przez cały okres koegzystencji. Nginx rozdziela ruch:

/api/* → nowy silnik PHP 8
/* → stare phpBB2 (bez zmian)
/app/* → React SPA (nowy frontend)
Żadnego „przepisywania od zera" — migracja jest inkrementalna, stare forum działa przez cały czas.

Serce projektu: ForumKernel (makrokernel + architektura pluginowa)

Nowy silnik zbudowany na Slim 4 + PHP-DI 7 + Doctrine ORM 3. Architektura heksagonalna — logika domeny oddzielona od HTTP i bazy przez porty (interfejsy):

PSR-14 EventBus do komunikacji z pluginami — BBCode i inne dekoratory, Shoutboxy, Searche itp jako osobne pluginy rejestrujące się w systemie eventów.

Autoryzacja: JWT z celowym ogarnieciem tego na koniec

Access token (15 min) wyłącznie w React state (nigdy localStorage). Refresh token w HttpOnly cookie + tabela forum_refresh_tokens w MySQL z rotacją przy każdym odświeżeniu.

Ciekawa decyzja projektowa: Auth wchodzi jako ostatni sprint — przez cały czas migracji działa tymczasowy LegacySessionBridgeMiddleware czytający sesje z phpbb_sessions. Minimalizuje to ryzyko: JWT wchodzi dopiero gdy reszta systemu jest stabilna.

Najtrudniejszy technicznie element: mapowanie phpBB2 → Doctrine

Kilka nieoczywistych problemów:

Kod:

Problem phpBB2                                        Rozwiązanie

phpbb_posts + phpbb_posts_text (split-table)        Post encja z #[Embedded(PostBody)]
post_time INT (UNIX timestamp)                    Custom Doctrine Type UnixTimestampType
ENUM('Y','N') zamiast boolean                    Custom Doctrine Type YesNoType
Brak kluczy obcych w całej bazie                    FK tylko w nowych tabelach, nie w legacy
Encoding latin2 / ISO-8859-2                    One-shot mysqldump + iconv + sed script


Panel administracyjny

Legacy admin to 77 plików PHP z systemem szablonów XS Styles opartym na iframe. W nowej architekturze: React SPA pod /admin/* + endpointy /api/v1/admin/* chronione przez AdminAuthMiddleware z weryfikacją roli ROLE_ADMIN.

Część modułów przewidziana do trwałego usunięcia ze względów bezpieczeństwa — w szczególności admin_sql.php (formularz do wykonywania dowolnego SQL), admin_phpinfo.php, admin_mysql.php.

Stack technologiczny

PHP 8.2 / Slim 4 / Doctrine ORM 3 / PHP-DI 7 / lcobucci/jwt 4 / React 18 + TypeScript + Vite / MySQL 8 (UTF-8mb4) / Nginx / Redis (opcjonalnie)

Pełny dokument (~30 stron) zawiera diagramy C4 (Level 1–3), model domeny, kontrakt OpenAPI, plan migracji charset, tabele ryzyk i projekt panelu admin. Mogę udostępnić jeśli ktoś jest zainteresowany.
_________________
Cygantura
 
     
Gadatliwa Kasia 

   
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,05 sekundy. Zapytań do SQL: 11
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Polisy Ubezpieczeniowe TU Europa

Design Cart - Tworzenie sklepu internetowego

facetaria.pl

Kupony AliExpress

• Zamów reklamę