====== Database Gateway Plugins ====== VuFind uses [[development:architecture:laminas|Laminas]]' table/row gateway classes to communicate with the database. The plugin managers described here control how gateway objects are retrieved. ===== Table Gateways ===== ==== Key Plugin Details ==== **Default Namespace:** \VuFind\Db\Table **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Db/Table/Gateway.php|\VuFind\Db\Table\Gateway]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['db_table'] **Service Manager Name for Service Locator:** VuFind\DBTablePluginManager (VuFind 2.x-4.x), VuFind\Db\Table\PluginManager (VuFind 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind plugins. ===== Row Gateways ===== :!: Prior to VuFind 4.0, each table class specifies the associated row class, so if you need to override a row class, you also need to override the table class, if only to change how it loads rows. Starting in release 4.0, the row-specific plugin manager was added to allow direct row overriding. ==== Key Plugin Details ==== **Default Namespace:** \VuFind\Db\Row **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Db/Row/RowGateway.php|\VuFind\Db\Row\RowGateway]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['db_row'] **Service Manager Name for Service Locator:** VuFind\DBRowPluginManager (VuFind 2.x-4.x), VuFind\Db\Row\PluginManager (VuFind 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind plugins.