64 lines
2.9 KiB
Markdown
64 lines
2.9 KiB
Markdown
# 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.
|