Meister Yoda und eine alte Zenza Bronica ETR-S

Meister Yoda und eine alte Zenza Bronica ETR-S

War ich zu jung? Oder war es zu wenig Geld? Mit der Zenza Bronica ETR-S war ich damals nicht sehr zufrieden, obwohl ich sehr viel Geld dafür bezahlt hatte.

Mit deutlich mehr Erfahrung will ich es wissen; auch habe ich auf Ebay noch ein paar Zubehörsachen gekauft. Mal schauen, wann ich den Film voll und gescannt habe.

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.