declare

(PHP 4, PHP 5, PHP 7, PHP 8)

Das declare-Konstrukt wird verwendet, um Ausführungsdirektiven für einen Codeblock festzulegen. Die Syntax von declare ist ähnlich wie die Syntax anderer Ablauf-Kontrollstrukturen:

declare (directive)
    statement

Die directive-Sektion erlaubt es, das Verhalten des declare-Blocks anzugeben. Aktuell werden nur drei Direktiven unterstützt: die ticks-Direktive (siehe unten für weitere Informationen über die ticks-Direktive), die encoding-Direktive (siehe unten für weitere Informationen über die encoding-Direktive), und die strict_types-Direktive (siehe den Abschnitt über strict typing auf der Seite über Typendeklarationen).

Da Direktiven behandelt werden, wenn die Datei kompiliert wird, dürfen nur Literale als Direktiven-Werte angegeben werden. Variable und Konstante können nicht verwendet werden. Zur Veranschaulichung:

<?php
// Dies ist erlaubt:
declare(ticks=1);

// Dies ist ungültig:
const TICK_VALUE 1;
declare(
ticks=TICK_VALUE);
?>

Der statement-Teil des declare-Blocks wird ausgeführt - wie genau die Ausführung aussieht und welche Seiteneffekte während der Ausführung auftreten können, ist abhängig von der im directive-Block gesetzten Direktive.

Das declare-Konstrukt kann außerdem im globalen Sichtbarkeitsbereich verwendet werden, es hat dann Auswirkungen auf den gesamten folgenden Code (wird die Datei mit der declare-Anweisung inkludiert, hat die Anweisung jedoch keine Auswirkung auf das einbindende File).

<?php
// dies sind gleichwertige Schreibweisen:

// Sie können diese Schreibweise verwenden:
declare(ticks=1) {
    
// hier das vollständige Skript einfügen
}

// oder diese:
declare(ticks=1);
// hier das vollständige Skript einfügen
?>

Ticks

Ein Tick ist ein Event, das für alle N Low-Level-Statements auftritt, die vom Parser innerhalb des declare-Blocks ausgeführt werden. Der Wert für N wird durch die Verwendung von ticks=N innerhalb der directive-Sektion des declare-Blocks angegeben.

Nicht alle Statements führen zu einem Tick-Event. So etwa Konditionen und Argumente.

Das/die bei jedem Tick auftretenden Event(s) werden durch die Verwendung der Funktion register_tick_function() angegeben. Betrachten Sie das folgende Beispiel für mehr Details. Beachten Sie, dass mehr als ein Event bei jedem Tick auftreten kann.

Beispiel #1 Tick Nutzungsbeispiel

<?php

declare(ticks=1);

// Funktion, welche bei jeden Tick-Event aufgerufen wird
function tick_handler()
{
    echo 
"tick_handler() aufgerufen\n";
}

register_tick_function('tick_handler'); // löst ein Tick-Ereignis aus

$a 1// löst ein Tick-Ereignis aus

if ($a 0) {
    
$a += 2// löst ein Tick-Ereignis aus
    
print($a); // löst ein Tick-Ereignis aus
}

?>

Siehe auch register_tick_function() und unregister_tick_function().

Encoding

Das Encoding eines Skripts kann pro Skript mittels der encoding-Direktive festgelegt werden.

Beispiel #2 Das Encoding eines Skripts deklarieren.

<?php
declare(encoding='ISO-8859-1');
// hier folgt der Code
?>

Achtung

Die einzig zulässige Syntax für ein declare, das mit Namespaces kombiniert wird, ist declare(encoding='...');, wobei ... der Name des Encodings ist. declare(encoding='...') {} führt zu einem Parse-Error, wenn es mit Namespaces kombiniert wird.

Siehe auch zend.script_encoding.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

MovieClip leeren (AS3)

Ich war wirklich besorgt um meine bachelorarbeit schreiben lassen​ (https://xn--ghostwriter-sterreich-sec.at/bachelorarbeit-schreiben-lassen/). ...

Geschrieben von Farebn am 26.04.2024 22:50:34
Forum: Grafik / Design / Flash ...
Berechnungen durchführen

Hallo liebe Forenmitglieder, meine erste frage ist zum Aufbau meiner kleinen Berechnungswebseite, nichts kommerzielles, soll nur eine Anwendung f ...

Geschrieben von matze511 am 21.04.2024 21:42:37
Forum: PHP Developer Forum
Professioneller Webentwickler & Webdesigner

Of course, here is the translation: Hello, Thank you for your interest in the long-term project. Your extensive skills and experience in web dev ...

Geschrieben von Athelstan am 15.04.2024 09:25:39
Forum: Jobgesuche
Wir stellen unsere SEO-Agentur vor

Hallo In der heutigen digitalen Welt war es für Unternehmen noch nie so einfach, ihre Reichweite weltweit zu vergrößern. Wenn Sie außerhalb I ...

Geschrieben von thomasmuller am 14.04.2024 07:18:33
Forum: User stellen sich vor