# Conventions **Wygenerowano:** 2026-05-20 (`$paul-map-codebase`) ## Nazewnictwo plikow - Klasy infrastrukturalne: `core/class/.class.php` (PascalCase + sufiks `.class.php`). - Modele: `core/model/.class.php` (encja) + `core/model/DAL.class.php` (DAL). - Modele domenowe oznaczane prefiksem `Mf` (np. `MfProduct`, `MfHomeSite`, `MfArticle`) lub `Fk` (np. `FkMaps`, `FkCurrency`, `FkGlossary`) — historyczne konwencje dwoch obszarow. - Moduly: `.mod.php` w `module/` lub `Admin/module/`. - Kontrolery: `Controller.php` w `controller/` lub `Admin/controller/`. - Szablony Smarty: `template/partial//.tpl`. ## Konwencje PHP - `` 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(, , )`. - 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//`. - 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//`. - 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 ``). - Identyfikatory kodu, sciezki, klucze konfiguracji i komendy pozostaja bez tlumaczenia.