diff --git a/README.md b/README.md index 1e2c330..f3a0469 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,19 @@ public function register() This will work exactly how the laravel-auto-presenter works; any `User` models passed to a view will be wrapped in `UserPresenter`. -If you wish to declare a mapping on-the-fly, or override a 'default' mapping in a specific instance, +The `map` function also takes an array: + +```php +public function register() +{ + \Presenters::map([ + User::class => UserPresenter::class, + ... + ]); +} +``` + +If you wish to declare a mapping on-the-fly, or override a mapping in a specific instance, the facade can be called from anywhere: ```php diff --git a/src/AutoPresenterMapper.php b/src/AutoPresenterMapper.php index 9ae4e51..b2b211d 100644 --- a/src/AutoPresenterMapper.php +++ b/src/AutoPresenterMapper.php @@ -20,9 +20,16 @@ public function __construct() * @param $class * @param $presenter */ - public function map($class, $presenter) + public function map($class, $presenter = null) { - $this->mappings->put($class, $presenter); + if (is_array($class)) + { + foreach($class AS $model => $present) { + $this->mappings->put($model, $present); + } + } else { + $this->mappings->put($class, $presenter); + } } /**