Files
zurawik.pl/.paul/codebase/conventions.md
2026-05-20 13:30:10 +02:00

2.9 KiB

Conventions

Wygenerowano: 2026-05-20 ($paul-map-codebase)

Nazewnictwo plikow

  • Klasy infrastrukturalne: core/class/<Nazwa>.class.php (PascalCase + sufiks .class.php).
  • Modele: core/model/<Nazwa>.class.php (encja) + core/model/<Nazwa>DAL.class.php (DAL).
  • Modele domenowe oznaczane prefiksem Mf (np. MfProduct, MfHomeSite, MfArticle) lub Fk (np. FkMaps, FkCurrency, FkGlossary) — historyczne konwencje dwoch obszarow.
  • Moduly: <Nazwa>.mod.php w module/ lub Admin/module/.
  • Kontrolery: <Domena>Controller.php w controller/ lub Admin/controller/.
  • Szablony Smarty: template/partial/<Domena>/<Akcja>.tpl.

Konwencje PHP

  • <?php na poczatku, czesto ?> na koncu (styl starszego PHP).
  • setlocale i ini_set('default_charset', ...) w index.php / Admin/index.php.
  • Statyczne klasy infrastruktury: Core::Init, Config::Get, Registry::Set, Router::AddRoute, MFLog::Warn, SessionProxy::GetValue.
  • Autoloader oparty o Core::LoadClass (core/core.php:173) — przeszukuje katalogi class/, module/, model/, lib/ oraz dekomponuje _ -> /.

Komentarze

  • Komentarze i docblocki sa po polsku (np. /** Klasa jadra aplikacji */ w core/core.php).
  • Czesto wystepuja zakomentowane bloki kodu i pseudo-TODO bez tagu.

Routing

  • Trasy rejestrowane statycznie: Router::AddRoute(<nazwa>, <wzorzec>, <opcje>).
  • Trasy publiczne w routes.php.
  • Trasy admina inline w Admin/index.php (mieszane z bootstrappem).

Warstwa danych

  • Encja + DAL: encja przechowuje pola, DAL realizuje zapytania.
  • Dostep do bazy przez Registry::Get('db') (DBProd) lub Registry::Get('dbTemp') (DBTemp).
  • Cache zapytan w QueryCache / DbCache; kopia tabel cache w QueryCacheTemp.

Smarty

  • Glowny szablon: template/index.tpl (przypisywany w Core::$template).
  • Partial templates w template/partial/<Domena>/.
  • Skompilowane wersje w core/temp/ i Admin/temp/compile/ (cache w Admin/temp/cache/).

Konfiguracja

  • Pliki path.config.php, param.config.php, db.config.php, opcjonalnie panel.config.php (Admin) w core/config/<Site>/.
  • Wartosci runtime nadpisywane przez SetupDAL::GetAllVariables() (tabela setup).

Kontrola wersji / artefakty

  • Pliki backupowe (.bak, .php_, .php.bak) zostawiane w repo:
    • core/class/MainController.class.php.bak
    • core/class/Router.class.php.bak
    • Admin/controller/StructureController.php_
    • template/index.tpl.bak
    • template/index_good.tpl
    • core/config/Log4PHPConfig*.delete, core/config/Log4PHPConfig.xml.test
  • Rownolegle warianty katalogow: Admin/plugins/ckeditor/ i Admin/plugins/ckeditor_/, Admin/controller/SimpleArticle/ i Admin/controller/SimpleArticle_/.

Jezyk dokumentow PAUL

  • Markdown w .paul/ pisany po polsku (zgodnie z <language_policy>).
  • Identyfikatory kodu, sciezki, klucze konfiguracji i komendy pozostaja bez tlumaczenia.