Ein neues Plugin: Eine abstrakte Klasse für Elemente mit Zeichenkette

Etwas abstrakt bleibt es doch noch. Es gibt im Projekt zwei Arten von Elementen: Die einen enthalten andere Elemente, andere enthalten Text. Daher wird es zwei unterschiedliche Arten geben, wie zum einen getContent() funktioniert, und wie der Inhalt der Instanz hinzugefügt wird.

Zwei weitere abstrakte Klassen bieten sich da an, die die entsprechenden Methoden implementieren.

ALeo_Sitemap_Xml_StringContent

  1. <?php
  2. /*
  3. Wird von Elementen erweitert, die nur eine
  4. Zeichenkette als Inhalt haben.
  5. Author: Hermann J. Leopold
  6. Email: hermann.leopold@leopoldnet.de
  7. Date: 2017-02-10
  8. /*
  9. require_once('ALeo_Sitemap_Xml.php');
  10. abstract class ALeo_Sitemap_Xml_StringContent extends ALeo_Sitemap_Xml
  11. {
  12. // Darum geht es: Die Zeichenkette
  13. private $_sContent;
  14. /*
  15. Hier wird der Inhalt übergeben.
  16. /*
  17. public function setStringContent($sString)
  18. {
  19. /* Generell dienen die Ausnahmefehler dazu,
  20. Programmfehler zu vermeiden.
  21. /*
  22. // NULL ist nicht erlaubt.
  23. if (is_null($sString)) {
  24. throw new InvalidArgumentException("NULL statt Zeichenkette");
  25. }
  26. // Der Typ muss String sein,
  27. // oder konvertierbar sein.
  28. if (!is_string($sString)) {
  29. throw new InvalidArgumentException("Keine Zeichenkette (aka String)");
  30. }
  31. // Alles OK
  32. $this->_sContent = $sString;
  33. }
  34. /*
  35. Und hier wird der Inhalt wieder zurück
  36. gegeben.
  37. /*
  38. protected function getContent()
  39. {
  40. if (is_null ($this->_sContent)) {
  41. $this->_sContent = '';
  42. }
  43. // Damit nichts passiert, werden Zeichen, die
  44. // XML verwendet, umgewandelt.
  45. return html_entity_decode($this->_sContent, ENT_XML1);
  46. }
  47. }

ALeo_Sitemap_Xml_StringContent.php

Da ich versuche, den Code vernünftig im Blog darzustellen, dürfen die Codezeilen nicht zu breit werden. Auch soll der Code gut lesbar sein; daher sind einige Details etwas umständlich geraten.

Die Hyazinthe ist verduftet

Die Hyazinthe ist verduftet

Nach nur einem Tag musste die Hyazinthe aus dem Haus: Es roch überall nach ihr. Aber schön blühen kann sie; mal schauen, ob sie nächstes Jahr wiederkommt.

Weniger schön: Das Plugin importiert die Bilder von Instagram stets quadratisch; dieses Foto war aber rechteckig.

Die Blüte unserer Bromelie

Die Blüte einer Bromelie

Die Blüte einer Bromelie.

Da es zig verschiedene Bromelien gibt, kann ich nicht genau sagen, welche jetzt genau das ist. Es wird aber keine Ananas sein.

Bei dem Bild scheint mir, durch das Hochladen und Komprimieren scheint die Schärfe gelitten zu haben. Das Original ist richtig scharf.