Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > PHP 5 benötigt kein static
Antwort
 
Themen-Optionen
Alt 10.02.2006, 11:44   Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard PHP 5 benötigt kein static

PHP-Code:
<?php
class Foo {
    public function 
notStatic() {
        return 
__CLASS__;
    }
    
    public static function 
isStatic() {
        return 
__CLASS__;
    }
}

print 
Foo::notStatic();
print 
PHP_EOL;
print 
Foo::isStatic();
?>
Ist das überhaupt gewollt, das man kein Schlüsselwort static benutzen muss. So wie es ausieht, sind alles Methoden statisch. Es sei denn, $this (der Zeiger auf sich selbst) ist in einer Methode vorhanden. Im Endeffeckt ist das static Schlüsselwort ein Fake. Oder ist es ein Bug? Mich würde nun interessieren auf welchen php 5 Versionen der oben aufgezeigte Quelltext funktioniert.

php version 5.1.1
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 11:48   Nach oben    #2
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Tatsache ... äh .. DAS ist aber sicherlich nicht im Sinne des Erfinders.
(PHP 5.1.1)
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 12:01   Nach oben    #3
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard

PHP-Code:
<?php
error_reporting
(E_STRICT);
class 
Foo {
    public function 
notStatic() {
        return 
__CLASS__;
    }
    
    public static function 
isStatic() {
        return 
__CLASS__;
    }
}

print 
Foo::notStatic();
print 
PHP_EOL;
print 
Foo::isStatic();
exit();
?>
ergibt:

Code:
Strict Standards: Non-static method Foo::notStatic() should not be called statically in C:\xampp\xampp\htdocs\cms.php on line 17
Foo Foo

dazu auch:
http://www.php.net/manual/de/language.oop5.static.php
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 12:06   Nach oben    #4
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

@robo:
Das ist ja nett. Welche PHP-Version? 5.1.1? Das wäre dann wirklich verwunderlich.

Bei dejan und mir läuft es jeweils unter PHP 5.1.1 fehlerfrei durch.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 12:17   Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

robo47 hat schon Recht. Es muss explizit
PHP-Code:
error_reporting(E_STRICT); 
bzw.
PHP-Code:
error_reporting(E_ALL E_STRICT); 
um alle Fehler zu Gesicht zu bekommen, angegeben werden. Zumindest wird der Fehler bei mir nun auch angezeigt.

Ja dann, bin ich beruhigt
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)

Geändert von dejan_spasic (10.02.2006 um 12:23 Uhr).
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 12:18   Nach oben    #6
Erfahrener Benutzer
 
Registriert seit: 28.08.2004
Ort: konstanz am bodensee
Beiträge: 190
Standard

ihr benutzt warscheinlich
Code:
error_reporting(E_ALL);
und nicht
Code:
error_reporting(E_STRICT);
ich denke mal das geht wegen der php4 kompatibilität, weil es da ja noch kein static schlüsselwort gab...


@dejan_spasic, mist du warst schneller....
beny_mcde ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 13:00   Nach oben    #7
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Hm. Abwärtskompatibilität ... bäääh
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2006, 16:48   Nach oben    #8
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP 5.2 Kompilierung schlägt fehl Byrel Tools, Server, Betriebssysteme 0 03.11.2006 21:09
[Rezension] PHP 5 Kochbuch Artemis Literatur 2 07.09.2006 19:15
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:34 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44