Clemens Schwaighofer 82bc99b181 Language\ namespace update
Update the Core Language classes to have all method parameter type
declaration.
GetTextReader has gettext as alias to translate.
GetTextReader public methods to get cache enable status and short
circuit (no translation loaded) status

Main language:
Add new methods for plural and plural in context (__n, __p, __pn)
Deprecate gettext, ngettext, _e

Add new translation loader in gettext standard
<locale>/LC_MESSAGES/<domain> style
Including locales checker, auto detect on enviroment variables, return
self as class (for functions type) return translator class after
loading, etc

New LoadFunctions to run all like functions. Names like php but with two
underscores prefixed. eg gettext -> __gettext
2022-04-13 16:26:15 +09:00
2022-04-13 16:26:15 +09:00
2022-04-13 16:26:15 +09:00
2013-12-11 15:58:37 +09:00
2018-01-10 10:58:04 +09:00

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
Description
Main development folder for the CoreLibs for PHP This one is not for composer package creation, the composer base package source is in the "composer" repository
Readme GPL-3.0 34 MiB
Languages
JavaScript 51.6%
PHP 42.3%
PLpgSQL 2.2%
CSS 1.6%
Smarty 0.7%
Other 1.6%