Skip to content

Extract database gateways

Nick Sellen requested to merge extract-database-gateways into master

Closes issues0#344

What does this MR do?

Defines a new pattern for database access:

  • uses PDO (instead of mysqli)
  • uses composition-over-inheritance to only include relevent methods in each gateway
  • introduces dependency injection (so you can easily define which resources you need in a given controller, for example)

TODO:

  • remove global PDO
  • configure DI PDO from config.inc.*.php variables
  • get DI PDO to work with the wrapped DebugBar PDO thing
  • remove duplication of DI configuration between container test helper and setup.php
  • check it a bit more....

How confident are you it won't break things if deployed?

Needs more checking...

Links to related issues

Checklist

  • added a test, or explain why one is not needed/possible...
  • no unrelated changes
  • asked someone for a code review
  • joined #foodsharing-beta channel at https://slackin.yunity.org
  • added an entry to CHANGELOG.md (description, merge request link, username(s))
Edited by Chris Oelmueller

Merge request reports