silverstripe / silverstripe-proxy-db
Installs: 2 206
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 4
Type:silverstripe-vendormodule
Requires
- silverstripe/framework: ^4@dev
- silverstripe/vendor-plugin: ^1.0
- tractorcow/classproxy: ^1
README
This is a temporary fork of tractorcow/silverstripe-proxy-db
. Until we can get a CMS5 branch set up there.
Database proxy
Ok, so you want to proxy the database.
Install this module, and decorate the factory with code you want to extend
--- Name: myproxydb After: '#proxydb' --- TractorCow\SilverStripeProxyDB\ProxyDBFactory: extensions: - ProxyDBExtension
Then in your code you can do this
<?php use SilverStripe\Core\Extension; use TractorCow\ClassProxy\Generators\ProxyGenerator; class ProxyDBExtension extends Extension { public function updateProxy(ProxyGenerator &$proxy) { $proxy = $proxy->addMethod('manipulate', function ($args, $next) { SearchManipulator::manipulate($args[0]); return $next(...$args); }); } }
You can chain methods; All addMethod() calls on the same method name will form a set of middleware. First methods registered are executed first.