- Uses PSR-12
- tab indent instead of 4 spaces indent
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
There are three branches:
The active branch, which is the namespace branch. Compatible with PHP 8.1 or higher
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
Any current development is done here
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
With phpunit (4dev/checking/phpunit.sh
)
www/vendor/bin/phpunit -c $phpunit.xml 4dev/tests/
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
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
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
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
Intelephense can not directly read phar files so we do the following
In the workspace root we have .libs/
, be in the workspace folder not the .libs/
folder
php -r "(new Phar('/path/to/.phive/phars/phpunit-9.6.13.phar'))->extractTo('.libs/phpunit/');"
andd add in vscode Intelephense > Enviroment: Include Paths (intelephense.environment.includePaths)
"intelephense.environment.includePaths": [
"/.libs/phpunit/"
]
Add .libs
to the master .gitingore
On a version update the old phpunit folder in .libs has to be removed and the new version extracted again