Skip to content

Increase OOP, reduce hard coupling, improve internal APIs, etc. #23

@garrettw

Description

@garrettw

This issue is mainly to track development on these topics. I'll be tagging this issue in my commit messages.

Classes to be converted from static to OO:

  • Pimf\Application
  • Pimf\Config
  • Pimf\Param
  • Pimf\Util\Header\ResponseStatus
  • Pimf\Util\Header
  • Pimf\Logger

Classes that need hard class references to be replaced with dependency injection:

  • Pimf\Application
  • Pimf\Environment

Internal APIs that need improvement:

  • Pimf\Cache::factory() and Pimf\Session::factory() -- would like to get rid of the switch statements by unifying the signatures of each storage type constructor as much as possible

Methods with too many params:

  • Pimf\Error::native()
  • Pimf\Controller\Base::__construct()
  • Pimf\Cookie::put()
  • Pimf\Cookie::forever()
  • Pimf\Request::__construct()
  • Pimf\Util\Uploaded::__construct()

Reduce complexity:

  • Pimf\Application::run()
  • Pimf\Logger
  • Pimf\Util\Validator
    • has duplicate code in lengthBetween() and valueBetween()
  • Pimf\Controller\Core::initCliAction()

Remove usage of exit/die:

  • Pimf\Application lines 102 and 261
  • Pimf\Error line 38
  • Pimf\Response line 144
  • Pimf\Util\Header lines 69, 83, 97, 103, 134, 233

Consider better names for functions:

  • Pimf\Session\Storages\Storage::id() -> newId()
  • Pimf\Uri::is() -> matches()
  • Pimf\Url::to() -> make()
  • Pimf\Url::toAsset() -> makeForAsset()
  • Pimf\Util\Character::is() -> matches()
  • Pimf\Logger::init() -> checkInit()
  • Pimf\Util\Validator::ip()

Improve adherence to ADR pattern in:

  • Pimf\View
  • Pimf\Controller\Base

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions