Wie der Titel besagt, möchte ich auf ein Verhalten in einer Entität zugreifen. Da ich im Kochbuch nichts finde, gehe ich davon aus, dass das nicht so ist, wie es gemacht werden sollte. Außerdem habe ich diese Frage gefunden, die sich auf Symphony bezieht, aber scheint, als ob dies auch für CakePHP gilt: Accessing Symfony2 global parameter in entity class.Zugreifen auf Verhalten in Entitätsklasse CakePHP 3
Was ich erreichen möchte ist, dass, wenn ein bestimmtes Feld/Spalte (in meinem Fall 'Link' genannt) automatisch aufgerufen wird, dieses Feld immer mit einer externen Bibliothek konvertiert (in meinem Fall eine vordefinierte URL erstellen für eine Datei, die auf Amazon S3 gespeichert ist).
class Picture extends Entity{
......
protected function _getLink($link){
return $this->s3->getPresignedUrl($link);
}
......
}
Meine Frage ist daher, wie ich damit umgehen soll. Sollte ich eine afterFind-Methode im Modell verwenden, die prüft, ob auf dieses Feld zugegriffen wird und damit auf das Aufrufen des Verhaltens reagiert? Kann jemand bestätigen, dass das Symphony-Beispiel auch für CakePHP gilt?
Ahh großartig! Ich denke, das ist auch eine großartige Lösung, um ähnliche Probleme in der Zukunft zu lösen. – markvdlaan93