Anzeige:
Ergebnis 1 bis 5 von 5

Thema: static const in php5

  1. #1
    Registrierter Benutzer
    Registriert seit
    21.07.2006
    Beiträge
    46

    static const in php5

    Zwecks Übersichtlichkeit habe ich eine Config-Klasse, in der hauptsächlich statische Konfigurationsvariablen definiert werden. Diese sollen nicht überschrieben werden können, also konstant sein. Mithilfe von static const (wie es etwa in C++ funktioniert) geht das nicht, so weit ich mich jetzt infomiert habe, hat das const hier eine andere Bedeutung.
    Die einzige Variante, an die ich jetzt denken konnte, wären Getter für alle Attribute, die nur eine Kopie der Variable zurückgeben, in meinem Kontext kann ich aber mit den restlichen Vorteilen der Getter nichts anfangen, daher möchte ich mir diesen Aufwand sparen.

    Gibt es in PHP 5 eine andere Möglichkeit, diese Variablen vor Veränderung zu beschützen und trotzdem direkten Zugriff zu erlauben?

  2. #2
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Gibt es, define heisst das Zauberwort.

    Sieht ungefähr so aus:
    Code:
    define ('_TIMETIC',10);		// Polling-Rate (Refresh) in Sekunden
    define ('_IDLETIME',900);        // Rauswurf nach 15 min Untaetigkeit
    define ('_DPFAD','ja/was/denn/wohl');
    ... 
    $filnam=_DPFAD.$chatid.'.log';
    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.07.2006
    Beiträge
    46
    Danke, define kenne ich eigentlich, aber es ist mir in dem Kontext einfach nicht eingefallen.. vielleicht denke ich einfach zu objektorientiert..

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo Totycro,

    http://php.net/manual/de/language.oop5.constants.php

    Laut Deiner Beschreibung sollte "const" schon das Richtige sein. In wiefern sich das von der C++ Implementierung unterscheidet weiß ich nicht. Von Aussen kannst Du mit Class::constant zugreifen. Innerhalb der Klasse über self::constant.

    Grüße,

    nEox

  5. #5
    Registrierter Benutzer
    Registriert seit
    21.07.2006
    Beiträge
    46
    Zitat Zitat von nEox Beitrag anzeigen
    Hallo Totycro,

    http://php.net/manual/de/language.oop5.constants.php

    Laut Deiner Beschreibung sollte "const" schon das Richtige sein. In wiefern sich das von der C++ Implementierung unterscheidet weiß ich nicht. Von Aussen kannst Du mit Class::constant zugreifen. Innerhalb der Klasse über self::constant.

    Grüße,

    nEox
    Stimmt, const in PHP entspricht wirklich static const in C++..

    Ich hab jetzt etwas damit gespielt, const in PHP ist doch sehr unflexibel, folgendes funktioniert z.b. nicht:
    PHP-Code:
    class {
    static 
    $a "foo";
    const 
    $b $a."bar";

    Danke für deine Antwort, nEox, aber hier ist PHP für mich etwas zu restriktiv, und daher schwierig in der Praxis zu verwenden.

    so long,
    totycro

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •