# PHP Core Library ## Code Standard * Uses PSR-12 * tab indent instead of 4 spaces indent ## General information Base PHP class files to setup any project * login * database wrapper * basic helper class for debugging and other features * admin/frontend split * domain controlled database/settings split * dynamic layout groups ## NOTE There are three branches: ### master The active branch, which is the namespace branch. Compatible with PHP 8.1 or higher ### legacy (deprecated) The old non namepsace format layout. This is fully deprecated and will no longer be maintaned. last tested PHP 5.6 and PHP 7.0 ### development Any current development is done here ## Static checks With phpstan (`4dev/checking/phpstan.sh`) `vendor/bin/phpstan` With phan (`4dev/checking/phan.sh`) `vendor/bin/phan --progress-bar -C --analyze-twice` pslam is setup but not configured ## Unit tests With phpunit (`4dev/checking/phpunit.sh`) `www/vendor/bin/phpunit -c $phpunit.xml 4dev/tests/` ## Other Notes ### Session used The following classes use _SESSION The main one is ACL\Login, this class will fail without a session started * \CoreLibs\ACL\Login * \CoreLibs\Admin\Backend * \CoreLibs\Output\Form\Generate * \CoreLibs\Output\Form\Token * \CoreLibs\Template\SmartyExtend ### Class extends The following classes extend these classes * \CoreLibs\ACL\Login extends \CoreLibs\DB\IO * \CoreLibs\Admin\Backend extends \CoreLibs\DB\IO * \CoreLibs\DB\Extended\ArrayIO extends \CoreLibs\DB\IO * \CoreLibs\Output\Form\Generate extends \CoreLibs\DB\Extended\ArrayIO * \CoreLibs\Template\SmartyExtend extends SmartyBC ### Class used The following classes use the following classes * \CoreLibs\ACL\Login uses \CoreLibs\Debug\Logging, \CoreLibs\Language\L10n * \CoreLibs\DB\IO uses \CoreLibs\Debug\Logging, \CoreLibs\DB\SQL\PgSQL * \CoreLibs\Admin\Backend uses \CoreLibs\Debug\Logging, \CoreLibs\Language\L10n * \CoreLibs\Output\Form\Generate uses \CoreLibs\Debug\Logging, \CoreLibs\Language\L10n * \CoreLibs\Template\SmartyExtend uses \CoreLibs\Language\L10n * \CoreLibs\Language\L10n uses FileReader, GetTextReader * \CoreLibs\Admin\EditBase uses \CoreLibs\Debug\Logging, \CoreLibs\Language\L10n ### Class internal load Loads classes internal (not passed in, not extend) * \CoreLibs\Admin\EditBase loads \CoreLibs\Template\SmartyExtend, \CoreLibs\Output\Form\Generate * \CoreLibs\Output\From\Generate loads \CoreLibs\Debug\Logging, \CoreLibs\Language\L10n if not passed on * \CoreLibs\Output\From\Generate loads \CoreLibs\Output\From\TableArrays