Eigene Datasource verwenden¶
In dieser Anleitung erstellen wir im Projektverzeichnis application/source/datasource/
eine
PHP-Datei MeineDatasource.php
. Der Dateiname kann beliebig gewählt werden, wichtig ist die Endung .php
.
Das Objekt dieser Klasse soll den Platzhalter mein-zufallszahl
mit einer Zufallszahl füllen.
Wir verwenden hierfür die PHP-Funktion mt-rand.
namespace MeineWebseite;
class MeineDatasource extends \Alvine\Application\Minerva\DataSource {
public function getDataset(): \Alvine\Types\Map {
// Werte aus der Seitendefinition übernehmen
$min = $this->arguments->getValue('min', 10);
$max = $this->arguments->getValue('max', 100);
// Zuweisen der Zufallszahl an den Platzhalter
return new \Alvine\Types\Map(['mein-zufallszahl' => \mt_rand($min, $max)]);
}
}
In der Seitendefinition können wir nun im import
-Abschnitt die Datasource verwenden.
Wir legen als kleinsten Wert min
10 und als größten Wert max
20 fest. Die
Zufallszahl soll also im Bereich zwischen 10 und 20 liegen.
import:
- datasource:
-
class: \MeineWebseite\MeineDatasource
arguments:
min: 10
max: 20
Jetzt steht im Dataset der Seite der Wert global->meine-zufallszahl
zur Verfügung und kann
über einen Operator in der Seite verbaut werden.
"global": {
"mein-zufallszahl": 14
Im nächsten Artikel wird die Verwendung von css & javascript vorgestellt.