Skip to content

GrammatikScope


GrammatikScope beschreibt einen Bereich von Grammatik,

  • die erlaubt oder nicht erlaubt ist,
  • die dargestellt oder nicht dargestellt wird,
  • deren Formen ausgesucht oder ausgefiltert werden.

GrammatikScope ist kein persisitiertes Model, das Datensätze speichert, sondern eine Klasse, die dynamische Objekte aus Lerninhalten (Reihe, Buch, Lerneinheit) oder Lernstoff von der Klasse GrammatikScopeComposer erzeugt wird.

Die Eingrenzung von Grammatik geschieht über sogennante MorphoRulesets.

Attribute

MorphoRuleset

Das MorphoRuleset ist ein JSON-Objekt bzw. assoziatives Array, das beschreibt, welche Werte der Perseus-Notation an bestimmten Positionen eines MorphoStrings erlaubt sind.

Beispiel:

php
$MorphoRulesetFuerDativGrammatik  = $GrammatikScopeVonLektion3->MorphoRuleset;

Das MorphoRuleset ist folgendermaßen aufgebaut:

java
[
    "n" => 
    [
    "2" => [
      "s",
      "p"
      ],
    "6" => [
      "m", 
      "f",
      "n",
      "c"
      ],
    "7" => [
      "d"
      ]
     ]
    ];

Es beschreibt ein Ruleset für Nomina, bei denen die Werte “Singular”/”Plural”, die Genera “mask.”/”fem.”/”neutr.”/”commun.” und der Kasus “Dativ” erlaubt ist.

Erzeugen eines GrammatikScope

Wird ein GrammatikScope aus Lernstoff oder mehreren Lerneinheiten gebildet, denen Grammatiken zugeordnet sind, dann werden die einzelnen MorphoRulesets der Grammatiken zu einem MorphoRuleset vereinigt.

Aus beliebig vielen Lerneinheiten

php
$GrammatikScope = (new GrammatikScopeComposer())->composeFromLerneinheiten($Lerneinheit1, $Lerneinheit2, )->get();

Aus einem bestimmten Lernstoff

php
$Lernstoff = Lernstoff::find(3);

$GrammatikScope = (new GrammatikScopeComposer())->composeFromLernstoff($Lernstoff)->get();