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

ezinfo.php: wer sie gemacht hat und welche Version

Die Metadatendatei ezinfo.php - Klassenname, die statische Methode info(), die Schlüssel, die die Administration liest, wie sie nach extension.xml gelesen wird, die Falle der unquotierten Schlüssel unter PHP 8 mit einer…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-3-extension-developer/ezinfo-php.md

On this page

This page is a translation. Read the English original

ezinfo.php: wer sie gemacht hat und welche Version

Teil 3, Kapitel 2. ezinfo.php sagt dem System und seinen Benutzern, was eine Erweiterung ist: ihr Name, ihre Version, ihr Copyright, ihre Lizenz und ihre Website. Setup > Über, Setup > Extensions und die Upgrade-Prüfungen lesen sie. Die Referenz ist Metadaten von Erweiterungen; dieses Kapitel zeigt, wie Sie eine solche Datei schreiben und welche Fehler Sie vermeiden.

Die Datei

extension/mysite_hello/ezinfo.php:

<?php
class mysite_helloInfo
{
    public static function info()
    {
        return array(
            'Name'      => "My Site Hello",
            'Version'   => "1.0.0",
            'Copyright' => "Copyright (C) 2026 Your Organization",
            'License'   => "GNU General Public License v2.0 (or any later version)",
            'Info_url'  => "https://github.com/your-organization/mysite_hello"
        );
    }
}
RegelWarum
Die Klasse ist der Ordnername plus Info: mysite_helloInfodas ist der Name, nach dem der Leser sucht
info() ist public staticsie wird statisch aufgerufen
Schlüssel sind Strings in Anführungszeichenein bloßes Name ist ein Zugriff auf eine Konstante, unter PHP 8 ein Fehler (siehe unten)
Name ist ein lesbarer Namedie Über-Seite zeigt ihn an; ein Ordnername sieht dort kaputt aus
Version hat kein vder Release-Tag v1.0.0 ergibt 'Version' => "1.0.0"
License ist der volle Namezum Beispiel GNU General Public License v2.0 (or any later version)
Info_url ist die Projektseitewird als Website der Erweiterung angezeigt

Schlüssel werden ohne Beachtung der Groß- und Kleinschreibung verglichen, daher funktionieren ältere Erweiterungen, die info_url schreiben, weiterhin; neue schreiben Info_url.

Wer sie liest, und in welcher Reihenfolge

Der Leser ist expInfo (lib/ezutils/classes/expinfo.php): expInfo::extensionInfo( 'mysite_hello' ) gibt die normalisierten Felder name, description, summary, version, copyright, author, license und info_url zurück. Er liest:

  1. zuerst extension.xml; nicht leere Werte gewinnen,
  2. dann ezinfo.php, für jedes Feld, das extension.xml nicht geliefert hat,
  3. dann composer.json und den Git-Origin, für das, was dann noch fehlt.

Beide Dateien sollten also vorhanden sein und übereinstimmen. Eine schnelle Prüfung bei geladenem Kernel:

<?php
// php bin/php/ezexec.php extension/mysite_hello/scripts/info.php
$info = expInfo::extensionInfo( 'mysite_hello' );
eZCLI::instance()->output( $info === false ? 'not found' : $info['name'] . ' ' . $info['version'] );

Die Falle unter PHP 8: unquotierte Schlüssel

Ältere Erweiterungen schrieben die Schlüssel ohne Anführungszeichen. In PHP 5 wurde eine nicht definierte Konstante mit einem Hinweis zu ihrem eigenen Namen; in PHP 8 ist sie ein Error, und die Seite, die die Metadaten liest, bricht ab. Eine echte Korrektur aus se7enxweb/expsite_installer (Commit 0c771fe, "Fixed ezinfo.php, whose keys were bare words that PHP 8 reads as undefined constants and stops on"):

// before
return array( Name => "expsite_installer",
              Version => "1.0.1",
              info_url => "https://github.com/se7enxweb/expsite_installer" );

// after
return array( 'Name' => "expsite_installer",
              'Version' => "1.0.1",
              'Info_url' => "https://github.com/se7enxweb/expsite_installer" );

php -l erkennt das nicht (die Datei ist syntaktisch gültig); nur das Ausführen zeigt es. Teil 4 enthält weitere solche Fälle: ezinfo.php und extension.xml modernisieren.

HTML in den Werten

Einige ältere Erweiterungen setzen HTML-Links in Name oder Copyright (<a href='...'>). expInfo entfernt die Tags (strip_tags()), wenn es die Felder normalisiert; angezeigt wird also nur der Text, und der Link geht verloren. Schreiben Sie reinen Text und verwenden Sie Info_url für den Link.

Mehrere Urheberrechtsinhaber

Behalten Sie jeden früheren Inhaber bei, wenn Sie eine Erweiterung übernehmen oder forken, und fügen Sie sich selbst hinzu:

'Copyright' => "Copyright (C) 2011 - 2014 Original Author Organization, 2026 Your Organization",

Siehe Namensnennung und Urheberrechtsvermerke.

Prüfen

php -l extension/mysite_hello/ezinfo.php
php bin/php/ezexec.php extension/mysite_hello/scripts/info.php

Öffnen Sie dann Setup > Extensions: Die Karte zeigt Ihren Namen, Ihre Version, Lizenz und Website.

Bei jedem Release

Die Version in ezinfo.php und in extension.xml entspricht der Release-Version und wird in dem Commit geändert, auf den der Tag zeigt; siehe ezinfo.php und extension.xml hochzählen.

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.

Urheberrecht und Copyleft

Seit dem 29. Oktober 2026 halten die Exponential Foundation und 7x das Copyright an Exponential gemeinsam, die Foundation zuerst genannt: „Exponential Copyright © 1998-2026 Exponential Foundation and 7x“, in Dateien „Copyright (C) 1998 - 2026 Exponential Foundation and 7x. All rights reserved.“ Wer es hält und warum, was die GPL Ihnen erlaubt, welche Hinweise Dritter bleiben und wie der Hinweis in neue Dateien und Erweiterungen kommt: Urheberrecht und Copyleft.

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