Remove unused code and classes. Clean up code to remove all named constant from them and throw deprecation alerts if used. Add basic psalm setup in root folder and remove from www folder
95 lines
2.5 KiB
Markdown
95 lines
2.5 KiB
Markdown
# 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
|