Sprachen und Programmierregeln: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
(Übersetzung)
mNo edit summary
Line 36: Line 36:
...
...
</source>
</source>
Wenn Sie eine vorhandene Projektdatei bearbeiten, müsssen Sie eine neue Copyright-Zeile im Header hinzufügen.
Wenn Sie eine vorhandene Projektdatei bearbeiten, müssen Sie eine neue Copyright-Zeile im Header hinzufügen.


=PHP-Normen=
=PHP-Normen=
==PHP==
==PHP==


*Dolibarr is in PHP geschrieben und unterstützt alle Versionen von PHP, welche höher sind, als {{PHPMinVersion}}. Alle Dateien müssen mit der Erweiterung .php enden.
*Dolibarr ist in PHP geschrieben und unterstützt alle Versionen von PHP, welche höher sind, als {{PHPMinVersion}}. Alle Dateien müssen mit der Erweiterung .php enden.


*Die Verwendung von PHP superglobalen Variablen muss über die festgelegten Operatoren $_COOKIES, $_SERVER, $_ENV erfolgen. Allerdings muss die Dolibarr-Funktion GETPOST () verwendet werden, um den Inhalt von $_GET oder $_POST abzurufen.
*Die Verwendung von PHP superglobalen Variablen muss über die festgelegten Operatoren $_COOKIES, $_SERVER, $_ENV erfolgen.  
*Allerdings muss die Dolibarr-Funktion GETPOST () verwendet werden, um den Inhalt von $_GET oder $_POST abzurufen.


*Andere Operatoren wie ($HTTP_SERVER_GET, ...) sind veraltet und dürfen daher nicht verwendet werden. Der Code muss funktionieren, wenn die Option '''register_long_arrays''' deaktiviert ist. Desweiteren muss der Code funktionieren, wenn die PHP-Option '''register_globals''' deaktiviert ist (wird von PHP empfohlen). Allerdings muss er auch funktionieren wenn die Option '''register_globals''' aktiviert ist (standardmäßig bei vielen Installationen).
*Andere Operatoren wie ($HTTP_SERVER_GET, ...) sind veraltet und dürfen daher nicht verwendet werden. Der Code muss funktionieren, wenn die Option '''register_long_arrays''' deaktiviert ist. Desweiteren muss der Code funktionieren, wenn die PHP-Option '''register_globals''' deaktiviert ist (wird von PHP empfohlen). Allerdings muss er auch funktionieren wenn die Option '''register_globals''' aktiviert ist (standardmäßig bei vielen Installationen).
Line 49: Line 50:
*Verwenden Sie nicht '''<s>PHP_SELF</s>'''. Stattdessen verwenden Sie '''$_SERVER["PHP_SELF"]'''. Beachten Sie weiterhin, dass das Dolibarr-Framework den Inhalt der Variablen $_SERVER["PHP_SELF"] bereinigt. (Siehe Datei '''main.inc.php''').
*Verwenden Sie nicht '''<s>PHP_SELF</s>'''. Stattdessen verwenden Sie '''$_SERVER["PHP_SELF"]'''. Beachten Sie weiterhin, dass das Dolibarr-Framework den Inhalt der Variablen $_SERVER["PHP_SELF"] bereinigt. (Siehe Datei '''main.inc.php''').


*Wenn mehrere Variablen mit demselben Wert initialisiert werden müssen, müssen Sie einzelne Deklarationen verwenden (getrennt durch ''';''' ).
*Wenn mehrere Variablen mit demselben Wert initialisiert werden sollen, müssen Sie einzelne Deklarationen verwenden (getrennt durch ''';''' ).


<source lang="php">
<source lang="php">
Line 100: Line 101:
*Funktionen müssen bei Erfolg einen Wert zurückgeben, der größer/gleich 0 ist und bei Fehlern zwingend kleiner als 0 ist
*Funktionen müssen bei Erfolg einen Wert zurückgeben, der größer/gleich 0 ist und bei Fehlern zwingend kleiner als 0 ist


*Es darf kein Code im Dolibarr-Kerncode vorhanden sein, welcher nur von Externen Modulen verwendet wird (Toter Code). Code von externen Modulen muss in den externen Modulen enthalten sein.  
*Es darf kein Code im Dolibarr-Kerncode vorhanden sein, welcher nur von Externen Modulen verwendet wird (Toter Code). Code von externen Modulen muss in den externen Modulen enthalten sein.


*Verwenden Sie "include_once" für alles, was Funktionen oder Klassendefinitionen enthält (wie * .class.php- und * .lib.php-Dateien), und "include" für PHP-Dateien im Vorlagenstil, die HTML- und PHP-Code enthalten (wie * .inc.php und * .tpl.php Dateien).
*Verwenden Sie "include_once" für alles, was Funktionen oder Klassendefinitionen enthält (wie * .class.php- und * .lib.php-Dateien), und "include" für PHP-Dateien im Vorlagenstil, die HTML- und PHP-Code enthalten (wie * .inc.php und * .tpl.php Dateien).
Line 121: Line 122:
{{TemplatePHPFields}}
{{TemplatePHPFields}}


=SQL rules=
=SQL Regeln=


==DDL file format==
==DDL file format==
1,988

edits

Navigation menu