uopz_flags

(PECL uopz 2 >= 2.0.2, PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_flagsGet or set flags on function or class

Beschreibung

uopz_flags(string $function, int $flags = PHP_INT_MAX): int
uopz_flags(string $class, string $function, int $flags = PHP_INT_MAX): int

Get or set the flags on a class or function entry at runtime

Parameter-Liste

class

The name of a class

function

The name of the function. If class is given and an empty string is passed as function, uopz_flags() gets or sets the flags of the class entry.

flags

A valid set of ZEND_ACC_ flags. If omitted, uopz_flags() acts as getter.

Rückgabewerte

If setting, returns old flags, else returns flags

Fehler/Exceptions

As of PHP 7.4.0, if the parameter flags is passed, uopz_flags() throws a RuntimeException, if OPcache is enabled, and the class entry of class or the function entry of function is immutable.

Changelog

Version Beschreibung
PECL uopz 5.0.0 The flags parameter is now optional. Formerly, ZEND_ACC_FETCH had to be passed to use uopz_flags() as getter.

Beispiele

Beispiel #1 uopz_flags() example

<?php
class Test {
    public function 
method() {
        return 
__CLASS__;
    }
}

$flags uopz_flags("Test""method");

var_dump((bool) (uopz_flags("Test""method") & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test""method") & ZEND_ACC_STATIC));

var_dump(uopz_flags("Test""method"$flags|ZEND_ACC_STATIC|ZEND_ACC_PRIVATE));

var_dump((bool) (uopz_flags("Test""method") & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test""method") & ZEND_ACC_STATIC));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(false)
int(1234567890)
bool(true)
bool(true)

Beispiel #2 "Unfinalize" a Class

<?php
final class MyClass
{
}

$flags uopz_flags(MyClass::class, '');
uopz_flags(MyClass::class, ''$flags & ~ZEND_ACC_FINAL);
var_dump((new ReflectionClass(MyClass::class))->isFinal());
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)

Hier Kannst Du einen Kommentar verfassen


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

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

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

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

Handyhalterung und Innenraumdesign

Welche technischen Anforderungen muss eine Smartphonehalterung erfüllen, um sich konstruktiv in das BMW-Innenraumdesign einzufügen? Um sich kon ...

Geschrieben von einermeiner am 14.01.2026 13:16:22
Forum: Ankündigungen
Handyhalterung und Innenraumdesign

Welche technischen Anforderungen muss eine Smartphonehalterung erfüllen, um sich konstruktiv in das BMW-Innenraumdesign einzufügen?

Geschrieben von hidrich am 14.01.2026 12:45:41
Forum: Ankündigungen
Benötige Hilfe php Skript mit Datenbankanbindung

I remember struggling with similar PHP database connection issues when I first started web development. The variables firstandfirstandlast in that ...

Geschrieben von AbbyBillson am 14.01.2026 09:57:30
Forum: SQL / Datenbanken
Provider stellt auf envelope-from um. Was muss ich bei meinem Code ändern?

Hallo Mein Web-Provider stellt bei seinen Mailkonten demnächst auf envelope-from um. Problem: Die Formulare auf meiner Webseite werden per Mail a ...

Geschrieben von PPV am 13.01.2026 18:05:52
Forum: PHP Developer Forum