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_createsollte in Ihrem angepassten Modul wie folgt
referenziert werden:moduleName_apic_app_createAPI 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_createWird beim Erstellen einer Anwendung ausgelöst. hook_apic_app_updateWird beim Aktualisieren einer Anwendung ausgelöst. hook_apic_app_pre_deleteWird ausgelöst, wenn eine Anwendung gelöscht wird, vor dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_apic_app_post_deleteWird ausgelöst, wenn eine Anwendung gelöscht wird, nach dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_apic_app_promoteWird beim Hochstufen einer Anwendung ausgelöst. hook_apic_app_creds_createWird ausgelöst, wenn eine neue Gruppe von Berechtigungsnachweisen für eine Anwendung erstellt wird. hook_apic_app_creds_updateWird ausgelöst, wenn eine Gruppe von Berechtigungsnachweisen für eine Anwendung aktualisiert wird. hook_apic_app_creds_deleteWird ausgelöst, wenn eine Gruppe von Berechtigungsnachweisen für eine Anwendung gelöscht wird. hook_apic_app_subscribeWird ausgelöst, wenn ein Abonnement erstellt wird. hook_apic_app_migrateWird ausgelöst, wenn ein Abonnement in einen neuen Plan migriert wird. hook_apic_app_unsubscribeWird ausgelöst, wenn das Abonnement eines Plans für eine Anwendung rückgängig gemacht wird. hook_apic_app_image_createWird ausgelöst, wenn ein Image einer angepassten Anwendung erstellt wird. hook_apic_app_image_deleteWird ausgelöst, wenn ein Image einer angepassten Anwendung gelöscht wird. hook_apic_app_clientid_resetWird ausgelöst, wenn eine Berechtigungsnachweis-Client-ID zurückgesetzt wird. hook_apic_app_clientsecret_resetWird 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_createWird ausgelöst, wenn eine Konsumentenorganisation erstellt wird. hook_consumerorg_updateWird ausgelöst, wenn eine Konsumentenorganisation aktualisiert wird. hook_consumerorg_pre_deleteWird ausgelöst, wenn eine Konsumentenorganisation gelöscht wird, vor dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_consumerorg_post_deleteWird ausgelöst, wenn eine Konsumentenorganisation gelöscht wird, nach dem Löschen von Knoten oder beim Auftreten einer Kaskade. hook_consumerorg_payment_method_create_alterWird ausgelöst, um eine Änderung des Formulars zur Erstellung von Zahlungsmethoden zu ermöglichen. hook_consumerorg_myorg_tabs_alterAusgelöst, damit der Seite my organizationweitere 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_createWird ausgelöst, wenn eine API erstellt wird. hook_apic_api_updateWird ausgelöst, wenn eine API aktualisiert wird. hook_apic_api_deleteWird 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_createWird ausgelöst, wenn ein Produkt erstellt wird. hook_product_updateWird ausgelöst, wenn ein Produkt aktualisiert wird. hook_product_deleteWird 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_alterWird ausgelöst, um eine Änderung der Übersichtsseite des Abonnementassistenten zuzulassen.