redaxo/redaxo — pull request #242 by gharlan (2013-03-12 09:41:52+00:00)
Title: rex_extension_point Klasse

Mir kam die Idee, ob es eventuell sinnvoll ist, eine neue Klasse für die Extension Points einzuführen, und ein Objekt dieser Klasse an die Extensions zu übergeben statt dem $params-Array.

**Beispiel:**

vorher:

```php
rex_extension::register('EXAMPLE_EXTENSION', function ($params) {
$subject = $params['subject'];
$exampleId = $params['example_id'];
return $subject . 'add something';
});

// register EP
$subject = rex_extension::registerPoint('EXAMPLE_EXTENSION', 'subject', ['example_id' => 1]);
```

nachher:

```php
rex_extension::register('EXAMPLE_EXTENSION', function (rex_extension_point $ep) {
$subject = $ep->getSubject();
$exampleId = $ep->getParam('example_id');
return $subject . 'add something';
});

// register EP
$subject = rex_extension::registerPoint(new rex_extension_point('EXAMPLE_EXTENSION', 'subject', ['example_id' => 1]));
```

So könnte man zum Beispiel eventuell später mal spezifischere Subklassen erstellen mit zusätzlichen Methoden. Und wir können zum Beispiel eine stop()-Methode anbieten, um zu verhindern, dass weitere Extensions zu dem EP aufgerufen werden.

@staabm Was sagst du dazu, unnötig oder sinnvoll? Und falls prinzipiell sinnvoll, würdest du im Detail Dinge anders machen?