Bewertung in Google Suchergebnissen einfügen

Wer auf seiner Seite Bewertungen zu Produkten, Artikel, oder ähnliches verwendet, möchte die Bewertung eventuell auch in den Google Suchergebnissen anzeigen lassen.
Dafür baut man auf der entsprechenden Seite einfach folgenden Code-Snippet ein:

<span xmlns:rm="http://rdf.data-vocabulary.org/#" typeof="rm:Review">
	<span property="rm:rating" content="88"></span>
	<span property="rm:best" content="100"></span>
	<span property="rm:itemreviewed" content="Traumelf"></span>
	<span property="rm:dtreviewed" content="2014-09-17"></span>
	<span property="rm:reviewer" content="Browsergames Guide Redaktion"></span>
	<span property="rm:summary" content=""></span>
</span>

Die einzelnen Parameter sollten natürlich mit den gewünschten Werten befüllt werden. Weitere Informationen zu den Eigenschaften findet ihr in der Google Webmaster-Dokumentation.

Google hat freundlicherweise auch ein Tool zur Verfügung gestellt, mit dem sich das Snippet testen lässt.

Wenn alles richtig gemacht wurde, sollte das Ergebnis in etwa so aussehen:
Traumelf Google Bewertung in Suchergebnissen

Sobald Google die Seite dann das nächste mal indexiert, erscheint die Bewertung dann auch in den echten Suchergebnissen.

Getter- und Setter-Methoden generieren

Was tun, wenn man eine Klasse mit mehreren Dutzend Member-Variablen hat und keine Lust dazu, für jede einzelne Getter- und Setter-Methoden zu schreiben? Natürlich automatisieren wir das Verfahren. Ich habe dazu drei Möglichkeiten herausgesucht. Da ist bestimmt für jeden etwas dabei.

Möglichkeit 1: Zend Studio
Wer eine lizensierte Version vom Zend Studio besitzt, kann sich hier die Getter und Setter ganz einfach über den Menüpunkt Source und Generate Getters and setters… erstellen lassen.

Möglichkeit 2: Magische Methode __call()
Wem das Zend Studio (verständlicherweise) zu teuer ist, der kann Getter- und Setter-Methoden auch über __call() abfangen und bearbeiten.
Einige halten dies jedoch für unsaubere Programmierung (Ich gehöre nicht dazu).

Möglichkeit 3: Ein eigenes Skript schreiben
Immer wenn es eine Aufgabe gibt, die sich häufig wiederholt, ist es sinnvoll, ein Skript dafür zu schreiben, das uns die Arbeit abnimmt. Wie oft ist es mir schon passiert, dass ich gesagt habe „das mach ich kurz selbst“ und am Ende wäre es viel schneller gewesen, ein Skript für die Aufgabe zu schreiben. Für Getter- und Setter-Methoden eignet sich ebenfalls ein kleines Skript. Meins sieht in etwa so aus:

class MeineKlasse
{
	protected $foo;
	protected $bar;
	protected $fooBar;
}
 
echo '<code>';
$class = new ReflectionClass(new MeineKlasse());
$properties = $class->getProperties();
$phpCode = '';
foreach($properties as $property)
{
	$name = $property->getName();
	if(strpos($name, '_') === 0)
	{
		$name = substr($name, 1);
	}
	$func = ucfirst($name);
	$phpCode .= "\n\npublic function get{$func}()\n";
	$phpCode .= "{\n";
	$phpCode .= "\treturn \$this->{$name};\n";
	$phpCode .= "}\n\n";
	$phpCode .= "public function set{$func}(\${$name})\n";
	$phpCode .= "{\n";
	$phpCode .= "\t\$this->{$name} = \${$name};\n";
	$phpCode .= "}";
}
echo $phpCode;
echo '</code>';

Das Skript nimmt sich die Klasse und lässt sich alle Member-Variablen geben. Anschließend nehme ich den Variablennamen und lasse mir daraus PHP-Code generieren.