Ein großer Vorteil von Blockly ist, dass der generierte Code syntaktisch korrekt ist.
Der Verbindungsprüfer ist das Objekt, das die Blockly-Regeln für kompatible Verbindungen erzwingt. Standardmäßig verwendet der Checker ein einfaches Typsystem, wie auf der Seite Verbindungsüberprüfungen beschrieben.
Die Prüfungen
In Blockly werden drei Sicherheitsebenen angewendet: Sicherheits-, Typ- und Drag-Checks.
Sicherheitsprüfungen
Sicherheitsprüfungen sorgen dafür, dass sich die Blöcke im selben Arbeitsbereich befinden, dass die Verbindungen zu verschiedenen Blöcken gehören usw. So wird verhindert, dass Blockly in einen fehlerhaften Zustand gerät.
Sicherheitsprüfungen blockieren auch unsinnige Kombinationen, z. B. die Verbindung zweier nächster Verbindungen.
Typprüfungen
Entwickler können Verbindungen mit Typinformationen versehen. Bei Typprüfungen werden diese Informationen verwendet, um ein Typsystem durchzusetzen, z.B. durch Blockieren der Verbindung eines Strings, wenn eine Zahl erwartet wird.
Drag-Checks
Drag-Checks werden nur angewendet, wenn Blöcke per Drag-and-drop verbunden werden, nicht programmatisch. Beispielsweise sollten beim Ziehen nur Verbindungen innerhalb eines bestimmten Radius berücksichtigt werden.
Verbindungsprüfer überschreiben
Entwickler, die ihre eigene Logik für Typ- oder Drag-Checks bereitstellen möchten, können ein Ersatzobjekt für die Verbindungsprüfung registrieren, das die IConnectionChecker
-Schnittstelle implementiert.
So implementieren Sie eigene Sicherheitsprüfungen: Überschreiben Sie doSafetyChecks
in Ihrem Verbindungsprüfer.
So implementierst du eigene Typprüfungen: Überschreibe doTypeChecks
in der Verbindungsüberprüfung.
So implementieren Sie eigene Drag-Checks: Überschreiben Sie doDragChecks
in Ihrem Verbindungsprüfer.
Beispielcode
Das Plug-in für die strenge Verbindungsprüfung ist ein einfaches Beispiel für einen benutzerdefinierten Prüfer.