{"id":1235,"date":"2014-09-30T15:01:11","date_gmt":"2014-09-30T15:01:11","guid":{"rendered":"http:\/\/frank-it-beratung.com\/blog\/?p=1235"},"modified":"2014-10-16T15:30:45","modified_gmt":"2014-10-16T15:30:45","slug":"tutorial-observer-pattern-beobachter-entwurfsmuster-in-php","status":"publish","type":"post","link":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/","title":{"rendered":"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP"},"content":{"rendered":"<p>In meinem heutigen Blogpost geht es nur am Rande um Social Media: Ich wurde neulich in eine Diskussion um das Obeserver-Pattern (Beobachter-Entwurfsmuster, Details siehe z. B. bei <a href=\"http:\/\/de.wikipedia.org\/wiki\/Beobachter_%28Entwurfsmuster%29\" target=\"_blank\">Wikipedia<\/a>) in PHP verwickelt und wurde um ein einfaches Beispiel gebeten. Hier ist es nun \u2013 zumindest so, wie ich es verstehe (Kritik ist wie immer willkommen).<!--more--><\/p>\n<p>In dem folgenden Beispiel gibt es eine Klasse \u201eNews\u201c, in der die jeweils \u201eneueste Nachricht\u201c abgelegt wird. Eine im Vorfeld nicht bekannte Anzahl an Social Network Clients (Klasse SocialNetworkClients) sollen informiert werden, wenn sich die neueste Nachricht \u00e4ndert (um z. B. dann diese Nachricht in diesen Netzwerken zu publizieren). Dies kann mit Hilfe des Observer-Patterns umgesetzt werden. Zuerst wird daf\u00fcr die Klasse \u201eNews\u201c angelegt \u2013 noch ohne jede besondere Einstellung f\u00fcr eine \u201ebeobachtbare\u201c Klasse:<\/p>\n<pre>class News\r\n{\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n  private $neuesteNachricht;\r\n\r\n  function setNeuesteNachricht($nachricht)\r\n  {\r\n    $this-&gt;neuesteNachricht=$nachricht;\r\n  }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \r\n  function getNeuesteNachricht()\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \r\n  {\r\n     return $this-&gt;neuesteNachricht;\r\n  }\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \r\n}<\/pre>\n<p>Jetzt kommt die Besonderheit dazu, so dass sich diese Klasse \u201ebeobachten\u201c l\u00e4sst: Mit Hilfe der Methode addObserver() und einem Array kann sich die Klasse ihre Beobachter speichern.<\/p>\n<pre>private $observers=array();\r\n\r\npublic function addObserver($observer)\r\n{\r\n  $this-&gt;observers[]=$observer;\r\n}<\/pre>\n<p>Und so sieht das nun in der Anwendung aus:<\/p>\n<pre>$twitter=new SocialNetworkClient();\r\n$facebook=new SocialNetworkClient();\r\n\r\n$news=new News();\r\n\r\n$news-&gt;addObserver($twitter);\r\n$news-&gt;addObserver($facebook);<\/pre>\n<p>Aber noch fehlt eine entscheidende Einstellung in der Klasse News \u2013 wird die \u201eneueste Nachricht\u201c mit Hilfe der Methode setNeuesteNachricht()gesetzt, m\u00fcssen alle Beobachter informiert werden. Daf\u00fcr wird die Methode wie folgt ge\u00e4ndert und eine Methode notifyObserver() erg\u00e4nzt:<\/p>\n<pre>function setNeuesteNachricht($nachricht)\r\n{\r\n  $this-&gt;neuesteNachricht=$nachricht;\r\n  $this-&gt;notifyObservers();\r\n}\r\n\r\nprivate function notifyObservers()\r\n{\r\n  foreach($this-&gt;observers as $observer)\r\n  {\r\n     $observer-&gt;notify($this);\r\n  }\r\n}<\/pre>\n<p>Wie zu erkennen ist, m\u00fcssen Beobachter also \u00fcber die Methode notify() verf\u00fcgen \u2013 hier werden diese \u00fcber \u00c4nderungen informiert. Die Klasse SocialNetworkClient k\u00f6nnte also ungef\u00e4hr so aussehen:<\/p>\n<pre>class SocialNetworkClient\r\n{\r\n\r\n\/\/...\r\n\r\n  public function notify(News $news)\r\n  {\r\n    echo \"&lt;div&gt;Neue Nachricht in News: \";\r\n    echo $news-&gt;getNeuesteNachricht();\r\n    echo \"&lt;\/div&gt;\";\r\n  }\r\n\r\n  \/\/...\r\n\r\n}<\/pre>\n<p>Das war\u2019s. Als praktische Erweiterung ist noch denkbar, die Methode notify() noch um ein Argument $notifyEvent oder $notivyMessage zu erg\u00e4nzen, mit der man den \u201eBeobachtern\u201c mitteilen kann, um welchen Typ von \u00c4nderung es sich handelt (z. B. \u201eNEU\u201c, \u201eAKTUALISIERUNG\u201c oder \u201eL\u00d6SCHUNG\u201c).<\/p>\n<p>Hier gibt es den kompletten Code als <a href=\"http:\/\/frank-it-beratung.com\/blog\/wp-content\/uploads\/2014\/10\/observer.txt\" target=\"_blank\">Download<\/a>.<\/p>\n<p>P.S.<\/p>\n<p>Probleme? Fragen? Anregungen? Ich helfe jederzeit und gerne\u00a0 \u2013 einfach einen Kommentar oder Mail schreiben, die Antwort kommt schnellstm\u00f6glich. Unternehmen, die Unterst\u00fctzung, Beratung oder Schulung bei der API- oder Webprogrammierung, der Social-Media-Entwicklung oder dem Social-Media-Management ben\u00f6tigen finden zudem entsprechende Angebote meiner Firma auf der Website <a href=\"http:\/\/www.Frank-IT-Beratung.de\" target=\"_blank\">www.Frank-IT-Beratung.de<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In meinem heutigen Blogpost geht es nur am Rande um Social Media: Ich wurde neulich in eine Diskussion um das Obeserver-Pattern (Beobachter-Entwurfsmuster, Details siehe z. B. bei Wikipedia) in PHP verwickelt und wurde um ein einfaches Beispiel gebeten. Hier ist &hellip; <a href=\"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[15,16],"tags":[68,69,70,66,67],"class_list":["post-1235","post","type-post","status-publish","format-standard","hentry","category-php","category-programmierung","tag-beobachter","tag-beobachter-entwurfsmuster","tag-entwurfsmuster","tag-observer","tag-observer-pattern"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP - Socialweb Dev-Blog \/\/ Frank-IT-Beratung<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP - Socialweb Dev-Blog \/\/ Frank-IT-Beratung\" \/>\n<meta property=\"og:description\" content=\"In meinem heutigen Blogpost geht es nur am Rande um Social Media: Ich wurde neulich in eine Diskussion um das Obeserver-Pattern (Beobachter-Entwurfsmuster, Details siehe z. B. bei Wikipedia) in PHP verwickelt und wurde um ein einfaches Beispiel gebeten. Hier ist &hellip; Weiterlesen &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Socialweb Dev-Blog \/\/ Frank-IT-Beratung\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-30T15:01:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-10-16T15:30:45+00:00\" \/>\n<meta name=\"author\" content=\"Simon A. Frank\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon A. Frank\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/\"},\"author\":{\"name\":\"Simon A. Frank\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\"},\"headline\":\"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP\",\"datePublished\":\"2014-09-30T15:01:11+00:00\",\"dateModified\":\"2014-10-16T15:30:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/\"},\"wordCount\":345,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\"},\"keywords\":[\"Beobachter\",\"Beobachter-Entwurfsmuster\",\"Entwurfsmuster\",\"Observer\",\"Observer Pattern\"],\"articleSection\":[\"PHP\",\"Programmierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/\",\"url\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/\",\"name\":\"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP - Socialweb Dev-Blog \\\/\\\/ Frank-IT-Beratung\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#website\"},\"datePublished\":\"2014-09-30T15:01:11+00:00\",\"dateModified\":\"2014-10-16T15:30:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/2014\\\/09\\\/30\\\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/\",\"name\":\"Socialweb Dev-Blog \\\/\\\/ Frank-IT-Beratung\",\"description\":\"Social-Media und Web-Entwicklung: Tutorials und Tipps von Simon A. Frank\",\"publisher\":{\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/#\\\/schema\\\/person\\\/e31d0c55b9277739ef6c87d5e7bb47a2\",\"name\":\"Simon A. Frank\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\",\"url\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\",\"contentUrl\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\",\"width\":200,\"height\":200,\"caption\":\"Simon A. Frank\"},\"logo\":{\"@id\":\"https:\\\/\\\/frank-it-beratung.de\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/simon200x200.jpg\"},\"url\":\"https:\\\/\\\/frank-it-projekte.de\\\/blog\\\/author\\\/sfrank\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP - Socialweb Dev-Blog \/\/ Frank-IT-Beratung","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/","og_locale":"de_DE","og_type":"article","og_title":"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP - Socialweb Dev-Blog \/\/ Frank-IT-Beratung","og_description":"In meinem heutigen Blogpost geht es nur am Rande um Social Media: Ich wurde neulich in eine Diskussion um das Obeserver-Pattern (Beobachter-Entwurfsmuster, Details siehe z. B. bei Wikipedia) in PHP verwickelt und wurde um ein einfaches Beispiel gebeten. Hier ist &hellip; Weiterlesen &rarr;","og_url":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/","og_site_name":"Socialweb Dev-Blog \/\/ Frank-IT-Beratung","article_published_time":"2014-09-30T15:01:11+00:00","article_modified_time":"2014-10-16T15:30:45+00:00","author":"Simon A. Frank","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Simon A. Frank","Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/#article","isPartOf":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/"},"author":{"name":"Simon A. Frank","@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2"},"headline":"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP","datePublished":"2014-09-30T15:01:11+00:00","dateModified":"2014-10-16T15:30:45+00:00","mainEntityOfPage":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/"},"wordCount":345,"commentCount":0,"publisher":{"@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2"},"keywords":["Beobachter","Beobachter-Entwurfsmuster","Entwurfsmuster","Observer","Observer Pattern"],"articleSection":["PHP","Programmierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/","url":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/","name":"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP - Socialweb Dev-Blog \/\/ Frank-IT-Beratung","isPartOf":{"@id":"https:\/\/frank-it-projekte.de\/blog\/#website"},"datePublished":"2014-09-30T15:01:11+00:00","dateModified":"2014-10-16T15:30:45+00:00","breadcrumb":{"@id":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/frank-it-projekte.de\/blog\/2014\/09\/30\/tutorial-observer-pattern-beobachter-entwurfsmuster-in-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/frank-it-projekte.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Observer-Pattern (Beobachter-Entwurfsmuster) in PHP"}]},{"@type":"WebSite","@id":"https:\/\/frank-it-projekte.de\/blog\/#website","url":"https:\/\/frank-it-projekte.de\/blog\/","name":"Socialweb Dev-Blog \/\/ Frank-IT-Beratung","description":"Social-Media und Web-Entwicklung: Tutorials und Tipps von Simon A. Frank","publisher":{"@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/frank-it-projekte.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/frank-it-projekte.de\/blog\/#\/schema\/person\/e31d0c55b9277739ef6c87d5e7bb47a2","name":"Simon A. Frank","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg","url":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg","contentUrl":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg","width":200,"height":200,"caption":"Simon A. Frank"},"logo":{"@id":"https:\/\/frank-it-beratung.de\/blog\/wp-content\/uploads\/2009\/09\/simon200x200.jpg"},"url":"https:\/\/frank-it-projekte.de\/blog\/author\/sfrank\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2dxcw-jV","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts\/1235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/comments?post=1235"}],"version-history":[{"count":5,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts\/1235\/revisions"}],"predecessor-version":[{"id":1241,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/posts\/1235\/revisions\/1241"}],"wp:attachment":[{"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/media?parent=1235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/categories?post=1235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frank-it-projekte.de\/blog\/wp-json\/wp\/v2\/tags?post=1235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}