Hey guys,
Een vraagje...
Ik heb een aantal verschillende exception classes die een abstracte parent class extenden.
Nu wil ik dat iedere exception (child) class een description krijgt, waarin ik een korte uitleg geef over wat de exception inhoudt. Het gaat dus niet om de foutmelding zelf, maar om een uitleg waarin staat in welke situatie de betreffende exception wordt gegooid.
Nu wil ik er dus voor zorgen dat iedere child class zo'n description heeft. De meeste gebruikelijke oplossing is (denk ik) in de parent class een abstracte getDescription method opnemen, die ik dan in alle child classes moet implementeren.
Omdat deze getDescription method enkel een string zou teruggeven, vind ik het een beetje "overkill". In iedere class dezelfde method opnemen, met als enige verschil de inhoud van de string... is dat niet een beetje teveel van het goede vraag ik me af?
Wat ik me nu afvraag is wat jullie van het idee vinden om de tekst gewoon in een private class property te zetten, en dat alleen de abstracte class een getDescription method heeft, die die property teruggeeft?
Dus in plaats van dit:
<?php
class SomeException extends AbstractException {
// Return the description.
public function getDescription() {
return 'bla die bla bla bla';
}
}
?>
Zou je dan dit krijgen:
<?php
class SomeException extends AbstractException {
private $description = 'bla die bla bla bla';
}
?>
Wat vinden jullie?
867 views