Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Klassenbenennung und das Präfix exp

Wie Sie PHP-Klassen, Dateien, Funktionen, Einstellungen und Tabellen in Exponential benennen - Ihr eigenes Präfix, exp für Code, den Sie zum Projekt beitragen, sevenx für 7x, warum Kernel-Bezeichner eZ nie umbenannt…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/php-developers/class-naming-and-the-exp-prefix.md

On this page

This page is a translation. Read the English original

Klassenbenennung und das Präfix exp

Diese Seite richtet sich an PHP-Entwickler, die Klassen, Funktionen, Einstellungen oder Tabellen hinzufügen. Namen in Exponential folgen einigen Regeln, die verhindern, dass Tausende von Klassen in einer Klassen-Map kollidieren, und die vorhandene Erweiterungen funktionsfähig halten. Die maßgebliche Darstellung ist Namenspräfixe: sevenx und exp.

Inhalt

  1. Die Regeln in einer Tabelle
  2. Ihr Präfix
  3. exp und sevenx
  4. Kernel-Bezeichner eZ bleiben
  5. Dateien und Klassennamen
  6. Klassen mit Namespace
  7. Andere Bezeichner

Die Regeln in einer Tabelle

Sie schreibenPräfixBeispiel
Ihre eigene Erweiterung oder Ihren Projektcodedas Präfix Ihrer Organisation oder ErweiterungacmeReportService, acmereport
Code, den Sie zum Projekt Exponential beitragenexpexpHelpAudience, expContentSecurityPolicy
Code, den 7x als Unternehmen veröffentlichtsevenx (oder exp, wie 7x entscheidet)sevenx_dse, sevenx_valkey_cache
eine Änderung an einer vorhandenen Kernel-Klasseihren Namen beibehalteneZContentObject, eZINI, eZDB

Ihr Präfix

Alle Klassen teilen sich eine Klassen-Map, sodass zwei gleichnamige Klassen in zwei Erweiterungen einander stören: Der Generator warnt vor einem Duplikat, und eine von beiden gewinnt. Beginnen Sie jede Klasse, Funktion, jeden Template-Operator, jede Fetch-Funktion, jeden Einstellungsblock und jede Tabelle Ihrer Erweiterung mit einem Präfix, das Ihnen gehört: acmeReportService, acme_report (Tabelle), acmereport_total (Operator), [AcmeReportSettings] (Block).

exp und sevenx

  • exp ist das Präfix des Projekts. Neuer Code im Kernel und in Projekterweiterungen verwendet es: explayouts, expai, expqueue, expHelpAudience, die Konsolenbefehle exp:. Verwenden Sie exp nur für Code, den Sie zum Projekt beitragen.
  • sevenx ist das offizielle öffentliche PHP-Code-Präfix von 7x; „7x“ kann keines sein, weil ein PHP-Bezeichner nicht mit einer Ziffer beginnen kann (class 7xFoo ist ein Parse-Fehler).
  • Vorhandene Namen sevenx_* und exp* werden nicht umbenannt, nur damit die Präfixe einheitlich aussehen; der Ordnername einer Erweiterung ist ihre Identität in den Einstellungen.

Kernel-Bezeichner eZ bleiben

eZContentObject, eZINI, eZDB, eZPersistentObject, ezpKernelWeb, die Dateinamen ez*, Modulnamen, Template-Operatoren, Einstellungen und Datenbanktabellen sind echte Bezeichner. Sie werden nie umbenannt: Eine Umbenennung würde jede Erweiterung und jedes Template brechen, das für sie geschrieben wurde. eZ ist das Präfix dieser Bezeichner, nicht der Name des Produkts.

Zwei Folgen für Ihren Code:

  • Legen Sie keine neuen Klassen mit dem Präfix eZ oder ezp an; sie sehen aus wie Kernel-Klassen und können mit künftigen kollidieren.
  • In Kommentaren, Meldungen und Dokumentation heißt das Produkt Exponential. Der alte Produktname erscheint nur als vergangene Geschichte; ein Klassenname wie eZContentObject ist nicht der Produktname und bleibt, wie er ist.

Dateien und Klassennamen

ElementRegelBeispiel
Klassendateieine Klasse pro Datei, Dateiname ist der Klassenname in Kleinbuchstabenclasses/acmereportservice.php enthält acmeReportService
Datentyp<datatypestring>type.php in datatypes/<datatypestring>/datatypes/acmecolor/acmecolortype.php
Workflow-Ereignis<typestring>type.php in eventtypes/event/<typestring>/eventtypes/event/acmenotify/acmenotifytype.php
ModulVerzeichnisname = Modulnamemodules/acmereport/module.php
Tests<Class>Test.phptests/acmeReportServiceTest.php

Der Klassen-Map-Generator findet Klassen, indem er Dateien durchsucht, sodass auch eine Klasse in einer anders benannten Datei gefunden wird; die Regel ist für Menschen, die acmereportservice.php suchen, wenn sie acmeReportService lesen.

Klassen mit Namespace

Der Kernel verwendet Namespaces nur für die Runnable-Klassen (Befehle, Cronjob-Teile, Modul-Views) und ihre Dienste:

ArtNamespace
Kernel-BefehlExponential\Command\Kernel\<Name>
ErweiterungsbefehlExponential\Command\Extension\<Ext>\<Name>
Cronjob-Teil einer ErweiterungExponential\Cronjob\Extension\<Ext>\<Name>
Modul-View einer ErweiterungExponential\View\Extension\<Ext>\<Module>\<View>
Kernel-DienstExponential\Service\...

Alles andere sind globale Klassennamen mit Präfix (Modul-Views als Klassen).

Andere Bezeichner

  • INI-Dateien und -Blöcke: Ihre eigene Datei (acmereport.ini) mit Ihren eigenen Blöcken; Änderungen an Kernel-Dateien gehören in *.ini.append.php Ihrer Erweiterung.
  • Tabellen: acme_*, Kleinbuchstaben, Namen ohne Anführungszeichen, die auf jeder unterstützten Datenbank funktionieren (Code für jede unterstützte Datenbank).
  • Template-Operatoren und Fetch-Funktionen: mit Präfix (acmereport_money, fetch( 'acmereport', 'items' )).
  • Übersetzungskontexte: extension/acmereport.
  • CSS-Klassen und globale JavaScript-Variablen: ebenfalls Ihr Präfix.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x