Entwicklung angepasster Module: Verwendung von Hooks
Sie können Hooks in angepassten Modulen verwenden, um das Verhalten des Drupal -Kerns oder anderer Module in Ihrem Developer Portalzu ändern.
Mit angepassten Modulen können Sie die Funktionalität Ihrer Developer Portal -Site erweitern. Weitere Informationen zum Erstellen angepasster Module finden Sie unter Custom module development: an introduction to Drupal tools for PHP developmentund unter Custom module development: background and prerequisites.
Hooks sind eine der Möglichkeiten, die von angepassten Modulen für die Interaktion mit anderen Modulen und mit Drupal-Kern-Subsystemen verwendet werden können. Die folgenden Abschnitte enthalten eine Übersicht über Hooks und eine Liste der IBM® API Connect -spezifischen Hooks.
- Sie sind nicht berechtigt, IBM API Connect -Module in von Ihnen erstellte angepasste Module einzuschließen. Außerdem ist die direkte Bearbeitung von API Connect -Motiven, -Modulen, enthaltenen Modulen oder Drupal -Kernen im Dateisystem nicht zulässig und wird nicht unterstützt, da bearbeitete Versionen dieser Dateien überschrieben werden, wenn ein Fixpack oder iFix installiert wird.
- Die gesamte kundenspezifische Entwicklung liegt in Ihrer Verantwortung. Obwohl die Verwendung angepasster Module und Motive unterstützt wird, bietet IBM API Connect keine Unterstützung für deren Entwicklung oder Änderung.
Informationen zu Hooks
Hooks definieren Funktionen, die das Verhalten des Drupal-Kerns ändern. Eine
Möglichkeit für angepasste Module, diese Funktionen zu ändern, besteht folglich darin, Hooks zu
verwenden. Hooks sind speziell benannte Funktionen, die ein Modul definiert
(die sog. Hook-Implementierung). Diese Hooks werden dann erkannt und zu
bestimmten Zeiten aufgerufen, um das Basisverhalten oder die Daten zu ändern oder zu
ergänzen (das sog. Aufrufen des Hooks). Jeder Hook hat einen Namen (zum Beispiel hook_batch_alter()
), eine
definierte Gruppe von Parametern und einen definierten Rückgabewert. Ihre angepassten Module können Hooks implementieren, die vom Drupal -Kern, von API Connectoder von anderen Modulen definiert werden, mit denen sie interagieren. Ihre angepassten
Module können auch eigene Hooks definieren, um andere Module mit ihnen interagieren zu
lassen. Weitere Informationen finden Sie unter Understanding Hooks unter Drupal.org.
alert
-Ebene verwenden. Fehler, Ausnahmen und Protokollnachrichten der Stufe alert
können die gesamte Verarbeitung im übergeordneten Code zum Erliegen bringen. Wenn Sie beispielsweise einen Hook erstellen, der bei der Aktualisierung einer Anwendung einen externen Server aufruft, muss der Code über Möglichkeiten einer Fehlerbehandlung verfügen, wenn der Server nicht gefunden wird oder nicht das erwartete Ergebnis zurückgegeben wird. Andernfalls stoppt Drupal das Parsing der Funktion und die Anwendung wird unter Umständen nicht ordnungsgemäß aktualisiert. Dies kann wiederum dazu führen, dass das Parsing von Webhooks und Momentaufnahmen abgebrochen wird und das Portal damit einen inkonsistenten Status erhält.Eine Liste aller Hooks, die im Drupal -Kern verfügbar sind, und deren Implementierung in Ihrem angepassten Modul finden Sie unter Drupal API Hooks.
Eine Liste aller API Connect -spezifischen Hooks finden Sie im folgenden Abschnitt.
Verwenden von Hooks in angepassten Modulen
hook
im Hooknamen durch den Namen Ihres angepassten Moduls ersetzen. Beispiel:hook_apic_app_create
sollte in Ihrem angepassten Modul wie folgt
referenziert werden:moduleName_apic_app_create
API Connect -spezifische Hooks
- Hooks für Anwendungen
- In der folgenden Tabelle sind die Hooks aufgelistet, die sich auf Anwendungen im Developer Portalbeziehen. Beispiele für die Verwendung von Anwendungshaken finden Sie unter apic_app/apic_app.api.php auf GitHub.
Tabelle 1. Hooks für Anwendungen Hookname Beschreibung hook_apic_app_create
Wird beim Erstellen einer Anwendung ausgelöst. hook_apic_app_update
Wird beim Aktualisieren einer Anwendung ausgelöst. hook_apic_app_pre_delete
Wird ausgelöst, wenn eine Anwendung gelöscht wird, vor dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_apic_app_post_delete
Wird ausgelöst, wenn eine Anwendung gelöscht wird, nach dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_apic_app_promote
Wird beim Hochstufen einer Anwendung ausgelöst. hook_apic_app_creds_create
Wird ausgelöst, wenn eine neue Gruppe von Berechtigungsnachweisen für eine Anwendung erstellt wird. hook_apic_app_creds_update
Wird ausgelöst, wenn eine Gruppe von Berechtigungsnachweisen für eine Anwendung aktualisiert wird. hook_apic_app_creds_delete
Wird ausgelöst, wenn eine Gruppe von Berechtigungsnachweisen für eine Anwendung gelöscht wird. hook_apic_app_subscribe
Wird ausgelöst, wenn ein Abonnement erstellt wird. hook_apic_app_migrate
Wird ausgelöst, wenn ein Abonnement in einen neuen Plan migriert wird. hook_apic_app_unsubscribe
Wird ausgelöst, wenn das Abonnement eines Plans für eine Anwendung rückgängig gemacht wird. hook_apic_app_image_create
Wird ausgelöst, wenn ein Image einer angepassten Anwendung erstellt wird. hook_apic_app_image_delete
Wird ausgelöst, wenn ein Image einer angepassten Anwendung gelöscht wird. hook_apic_app_clientid_reset
Wird ausgelöst, wenn eine Berechtigungsnachweis-Client-ID zurückgesetzt wird. hook_apic_app_clientsecret_reset
Wird ausgelöst, wenn ein geheimer Clientschlüssel für einen Berechtigungsnachweis zurückgesetzt wird. hook_apic_app_modify_getplaceholderimage_alter
Ändern des Image für den Anwendungs-Platzhalter unter \Drupal\apic_app\Application::getPlaceholderImage(). Kann verwendet werden, um ein bestimmtes Platzhalter-Image zu definieren, das verwendet werden soll, wenn der Konsument kein eigenes angepasstes Image für seine Anwendung hochgeladen hat. hook_apic_app_modify_getimageforapp_alter
Ändern des Image für den Anwendungs-Platzhalter unter \Drupal\apic_app\Application::getImageForApp(). Kann verwendet werden, um einen vollständigen Pfad zu einem bestimmten Image anzugeben, das für eine Anwendung verwendet werden soll und ein eventuell hochgeladenes angepasstes Image überschreibt. hook_apic_app_modify_client_id_reset_alter
Ändern Sie die Client-ID, die von API Manager bereitgestellt wird, wenn die ID zurückgesetzt wird. hook_apic_app_modify_client_secret_reset_alter
Ändern Sie den geheimen Clientschlüssel, der von API Manager bereitgestellt wird, wenn der geheime Schlüssel zurückgesetzt wird. hook_apic_app_modify_create_alter
Ändern Sie die Berechtigungsnachweise, die von API Manager bereitgestellt wurden, wenn eine neue Anwendung erstellt wird. hook_apic_app_modify_credentials_create_alter
Ändern Sie die von API Manager bereitgestellten Berechtigungsnachweise, wenn neue Berechtigungsnachweise erstellt werden. - Hooks für Konsumentenorganisationen
- In der folgenden Tabelle sind die Hooks aufgelistet, die sich auf Konsumentenorganisationen im Developer Portalbeziehen. Beispiele für die Verwendung von Hooks für Verbraucherorganisationen finden Sie unter consumerorg/consumerorg.api.php auf GitHub.
Tabelle 2. Hooks für Konsumentenorganisationen Hookname Beschreibung hook_consumerorg_create
Wird ausgelöst, wenn eine Konsumentenorganisation erstellt wird. hook_consumerorg_update
Wird ausgelöst, wenn eine Konsumentenorganisation aktualisiert wird. hook_consumerorg_pre_delete
Wird ausgelöst, wenn eine Konsumentenorganisation gelöscht wird, vor dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_consumerorg_post_delete
Wird ausgelöst, wenn eine Konsumentenorganisation gelöscht wird, nach dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_consumerorg_payment_method_create_alter
Wird ausgelöst, um eine Änderung des Formulars zur Erstellung von Zahlungsmethoden zu ermöglichen. hook_consumerorg_myorg_tabs_alter
Ausgelöst, damit der Seite my organization
weitere Registerkarten hinzugefügt werden können. - Hooks für APIs
- In der folgenden Tabelle sind die Hooks aufgelistet, die sich auf APIs im Developer Portalbeziehen. Beispiele für die Verwendung von API-Hooks finden Sie unter apic_api/apic_api.api.php auf GitHub.
Tabelle 3. Hooks für APIs Hookname Beschreibung hook_apic_api_create
Wird ausgelöst, wenn eine API erstellt wird. hook_apic_api_update
Wird ausgelöst, wenn eine API aktualisiert wird. hook_apic_api_delete
Wird ausgelöst, wenn eine API gelöscht wird. - Hooks für Produkte
- In der folgenden Tabelle sind die Hooks aufgelistet, die sich auf Produkte im Developer Portalbeziehen. Beispiele für die Verwendung von Produkt-Hooks finden Sie unter product/product.api.php auf GitHub.
Tabelle 4. Hooks für Produkte Hookname Beschreibung hook_product_create
Wird ausgelöst, wenn ein Produkt erstellt wird. hook_product_update
Wird ausgelöst, wenn ein Produkt aktualisiert wird. hook_product_delete
Wird ausgelöst, wenn ein Produkt gelöscht wird. - Andere IBM API Connect Hooks
- In der folgenden Tabelle sind die Hooks aufgelistet, die zu anderen Zwecken verwendet werden können.
Tabelle 5. Weitere APIC-Hooks Hookname Beschreibung hook_ibm_apim_subscription_wizard_summary_alter
Wird ausgelöst, um eine Änderung der Übersichtsseite des Abonnementassistenten zuzulassen.