42b961f35e14469d3e0317ed007107d882276fe0
Output\Form\Generate and ACL\Login have DB\IO method call name changes for pos/num rows methods. Use proper methods and not use the cursor full return check method DB\IO: Switched to new conenction busy check with sockt and timeout loop. So short blocked and psql error blocked ones are not blocking other calls. Moved the dbReturn cache read to a separte private method and cleaned up code for more clear view Moved all query hash creations to method to simple change hash creatio if needed. This method can be used for external correct query hash creation if needed. Variable name and code block clean up in dbReturn No data return (dbReturn or dbFetchArray) will change returned data row. Return as is. Moved methods around in code to group them together for next stage in sub class creation (planned) Renamed dbCursorPos to dbGetCursorPos and dbCursorNumRows to dbGetCursorNumRows Work on phpunit tests for DB\IO
PHP Core Library
Code Standard
- Uses PSR-12
- tab indent instead of 4 spaces indent
- Warning at 120 character length, error at 240 character length
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. Currently compatible with PHP 7.4 and 8.0
legacy
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)
phpstan
With phan (4dev/checking/phan.sh)
phan --progress-bar -C --analyze-twice
pslam is setup but not configured
Unit tests
With phpunit (4dev/checking/phpunit.sh)
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\Logger, \CoreLibs\Language\L10n
- \CoreLibs\DB\IO uses \CoreLibs\Debug\Logger, \CoreLibs\DB\SQL\PgSQL
- \CoreLibs\Admin\Backend uses \CoreLibs\Debug\Logger, \CoreLibs\Language\L10n
- \CoreLibs\Output\Form\Generate uses \CoreLibs\Debug\Logger, \CoreLibs\Language\L10n
- \CoreLibs\Template\SmartyExtend uses \CoreLibs\Language\L10n
- \CoreLibs\Language\L10n uses FileReader, GetTextReader
Languages
JavaScript
51.6%
PHP
42.3%
PLpgSQL
2.2%
CSS
1.6%
Smarty
0.7%
Other
1.6%