Skip to main content

Einleitung User Exits

User Exits dienen dem Erweitern / Customizing von SQUEEZE. Sollten Standard-Funktionen nicht ausreichen, kann mittels PHP-Code das Verhalten der Software angepasst werden.

Grundlagen

User Exits sind grundsätzlich mandantenspezifisch. D. h., dass jeder Mandant eines SQUEEZE Servers seine eigenen User Exits definieren und einsetzen kann. Daher befinden sich die jeweiligen User Exits im Repository des Mandanten.

Cloud vs. On Premise

Die Customizing-Optionen unterscheiden sich je nach Installationsart.

Bei On Premise Installationen stehen alle Customizing-Funktionen frei zur Verfügung. I. d. R. handelt es sich hier um Installationen bei einzelnen Endkunden. Mehr Details in: Customizing On Premise

Bei Cloud-Mandanten ist die Bearbeitung von User Exits je nach Projekt bzw. Kunde eingeschränkt. Hier muss mit dem jeweiligen Ansprechpartner der DEXPRO oder des betreuenden Partners abgestimmt werden, ob ein Customizing möglich ist. Mehr Details in: Customizing In Der Cloud

Entwicklungsumgebung

IDE / Editor

Die Entwicklung von User Exits ist grundsätzlich mit jedem Text-Editor möglich. Wir raten allerdings stark zur Verwendung von Visual Studio Code. Ergänzend setzen wir auf folgende Extensions:

image-1647871315757.png

Einrichten von Code Completion

Code Completion ist ab Squeeze 2.3 möglich.

Wir empfehlen die Einrichtung von Code Completion in ihrer IDE. Dieses Feature bietet ein wertvolles Werkzeug bei der Entwicklung und dem Support von User Exits. Vorteile der Verwendung sind:

  • Ihre Entwicklungsumgebung zeigt Ihnen bessere (und vor allem korrektere) Fehlermeldungen an.
  • Sie sehen direkt im Editor die Dokumentation von Methoden und Klassen, die Sie verwenden.
  • Falls Sie Code nutzen, der in zukünftigen Versionen verändert oder entfernt wird, sehen sie das direkt im Editor.
  • Ihr Editor schlägt ihnen Vervollständigungen vor, während Sie tippen. So sparen Sie sich (häufig) den Blick in eine Dokumentation.

image-1673349341766.png

Visual Studio Code

Dazu sind die folgenden Schritte notwendig:

  1. Installieren sie PHP Intelephense
  2. Legen sie eine Stubs-Datei (s. Abschnitt unten) im Ordner ab, den Sie mit Visual Studio Code öffnen. Es eignet sich die Ablage bspw. im Repository oder dem Mandantenordner im Repository.
  3. Konfigurieren Sie folgende Einstellungen in Visual Studio Code (Wie geht das?). Passen Sie dabei ggf. die PHP Version auf die von ihnen eingesetzte PHP Version an.
{
  "php.suggest.basic": false,
  "intelephense.files.maxSize": 100000000,
  "intelephense.environment.phpVersion": "7.4.22"
}
Code Completion wird nicht angezeigt

Falls Autocomplete nicht funktioniert, dann prüfen Sie die Log-Ausgaben der Intelephense Extension:

  • Output Konsole öffnen
  • Im Dropdown auf Intelephense umstellen

Falls Sie hier einen Fehler sehen, hilft das ggf. bei der Problemlösung. Im Screenshot wurde bspw. die Einstellung bzgl. der Dateigröße nicht gesetzt.

image-1673347764604.png

Stubs-Datei

Die Stubs-Datei ist eine eine Datei mit PHP-Quellcode, die dafür sorgt, dass Visual Studio Code die Datentypen, Klassen und Funktionen von Squeeze kennt.

Die Stubs werden aktuell noch manuell erzeugt. Fragen Sie gern im Support nach, ob sie eine Stub-Datei erhalten können.