php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.11.2005, 15:45  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard Zugriff auf statische methoden oder konstanten

Ich möchte auf statische Methoden und Konstanten eines unbekannten Objects zugreifen, der Name des Objects ergibt sich aus einer Variablen. Bei normalen Methoden und Properties geht das ja sehr einfach
Code:
$object->methode()
aber folgender Code geht leider nicht:
Code:
$object::statischeMethode()
Wie kann man das machen, oder geht das überhaupt?
nightfreak ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.11.2005, 15:50  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Dann verwende get_class(), um den Namen der Klasse zu ermitteln.
xabbuh ist offline   Mit Zitat antworten
Alt 14.11.2005, 15:56  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Eine statische Methode muss auf die Klasse und nicht das Objekt aufgerufen werden.

NameDerKlasse::statischeMethode();
Zergling-new ist offline   Mit Zitat antworten
Alt 14.11.2005, 16:17  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard

Zitat:
Zitat von Zergling
Eine statische Methode muss auf die Klasse und nicht das Objekt aufgerufen werden.
Das ist mir schon klar, nur wie kann ich das für einen dynamischen klassennamen machen?
nightfreak ist offline   Mit Zitat antworten
Alt 14.11.2005, 16:20  
Gast
 
Beiträge: n/a
Standard

der Name $object ist unglücklich (falsch) gewählt.
$classname passt wohl eher.

PHP-Code:
<?php
error_reporting
(E_ALL|E_STRICT); // php5
ini_set('display_errors'true);

class 
foo {
    public static function 
bar() {
        echo 
date('H:i:s d.m.Y');
    }
}

$classname 'foo';
call_user_func(array($classname,'bar'));
?>
Geht auch über Reflection, aber so ist es vielleicht erstmal einfacher.
http://www.php.net/call_user_func
  Mit Zitat antworten
Alt 14.11.2005, 16:53  
Neuer Benutzer
 
Registriert seit: 27.09.2005
Beiträge: 22
nightfreak
Standard

Und wie kann man auf Konstanten zugreifen?
nightfreak ist offline   Mit Zitat antworten
Alt 14.11.2005, 16:56  
Gast
 
Beiträge: n/a
Standard

Da kenne ich keinen Weg um Reflection herum.
http://php3.de/manual/de/language.oop5.reflection.php

PHP-Code:
<?php
error_reporting
(E_STRICT);
ini_set('display_errors'true);

class 
foo {
    const 
konstante 'abc';
    public static function 
bar() {
        echo 
date('H:i:s d.m.Y');
    }
}

$r = new ReflectionClass('foo');
$r->getMethod('bar')->invoke(null,null); // statische Funktion ohne Parameter
echo "\n--\n";
echo 
$r->getConstant('konstante');
?>
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
statische Eigenschaft einer unbekannten Klasse aufrufen Zergling-new PHP-Fortgeschrittene 30 05.01.2010 20:04
Zugriff mit session auf Ordner begrenzen Diego1978 PHP Tipps 2008 1 08.07.2008 06:38
Referenzen Private Methoden. notyyy PHP-Fortgeschrittene 5 29.05.2008 09:40
UML - Abstrakte und vererbte Methoden zwingend anzugeben? MaMo-Net Off-Topic Diskussionen 3 17.03.2008 06:04
Dynamische Konstanten Igäl PHP Tipps 2008 9 09.10.2007 07:25
Zugriff auf Objekte anderer Klassen nieselfriem PHP Tipps 2007 7 14.05.2007 12:48
Zugriff verweigert...? amenhotheb PHP Tipps 2006 4 11.07.2006 16:23
Zugriff auf postgresql-db mit php PHP Tipps 2006 6 25.01.2006 09:29
[Erledigt] Sinnvoller Einsatz von Konstanten unter php PHP-Fortgeschrittene 14 29.12.2005 21:05
gleichzeitiger Zugriff auf 2 Datenbanken dh1sbg PHP-Fortgeschrittene 3 27.12.2005 12:41
Objektorientierter Zugriff auf Multidimensionale Arrays PHP-Fortgeschrittene 31 26.11.2005 21:46
klassen und methoden anderer klassen in methoden.... PHP Tipps 2005 17 25.05.2005 09:46
Zugriff auf phpmyadmin PHP Tipps 2005 1 28.02.2005 18:41
[Suche] Coder für einfache (statische) Seite Beitragsarchiv 8 10.02.2005 16:32
[Erledigt] Letzter zugriff von Datei anzeigen PHP Tipps 2005 13 17.01.2005 18:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php statische methoden, php statische klassen, statische methoden php, php statische konstanten, php statische methode aufrufen, php statische methoden aufrufen, php.net statische methoden, php statische funktion aufrufen, php statische methode, php auf konstante zugreifen, php statische klasse, php auf konstanten zugreifen, php zugriff auf konstanten, php statische konstante, php zugriff auf static, statische methode php, statische konstanten php, php aufruf statischer methoden, statische konstante php, zugriff auf statische methoden

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.