php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.05.2005, 17:41  
Gast
 
Beiträge: n/a
Standard OOP und PHP // HIIIIILFEEEEEE

PHP-Code:
<?php
class (
   public 
$b;
   public function 
c() {
        
self::$b 10;
   }
}

a::c();
echo 
a::$b// Ausgabe 10 in php5 in php4 geht gar nichts mehr

// in php4 muß es so aussehen
class (
   var 
$b;
   function 
c() {
        
$this->10;
   }
}

$x = new a();
$x->c();
echo 
$x->b;

?>
Ich habe jetzt dutzende Skripte im oberen Format und möchte nicht jedesmal ein "new" verwenden müssen. Was kann ich tun damit die obere Variante auch in php4 läuft ? Die Änderung der Klasse wäre für mich kein Problem, aber die Aufrufe auf "->" und new umzustellen schon.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.05.2005, 19:13  
Gast
 
Beiträge: n/a
Standard

offensichtlich gibt es keine Lösung
 
Alt 08.05.2005, 19:18  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nur weil deine tastatur hängt (!!!!!!!!) muss man dir nicht gleich antworten.

1. regel für anfänger: geduld.
2. regel für anfänger: RTFM. http://www.php.net/OOP
3. regel: in php4 kannst du klassenvariablen nicht statisch (mit :: ) aufrufen. da gibt's keinen umweg.
4. regel: selbst in php5 macht es keinen besonderen sinn, so zu arbeiten. definier dir konstanten für statische variablen.
das ganze ist in java u.U. schön, aber dort produzierst du mit sowas auch keinen solchen overhead, weil der compiler das ganze korrigiert.
axo ist offline  
Alt 08.05.2005, 19:27  
Gast
 
Beiträge: n/a
Standard

1. 1,5 Stunden ist genug Geduld
2. RTFM hilft nicht (siehe source)
3. php4 ist dann aber echt Mist ! Warum muß ich mit Zeigern arbeiten, wo ich das eigentlich (siehe PHP5) gar nicht benötige. Da hab ich immer einen "new" und "->". PHP5 ist da deutlich besser ! Aber leider krieg ich das auf meinem Web-Server nicht zum laufen
4. im beschriebenen Fall weise ich zwar den Wert 10 zu, soll aber variabel sein
 
Alt 08.05.2005, 19:29  
Erfahrener Benutzer
 
Registriert seit: 30.01.2005
Beiträge: 435
Jojo1
Standard

Zitat:
Zitat von dynamike
1. 1,5 Stunden ist genug Geduld
2. RTFM hilft nicht (siehe source)
3. php4 ist dann aber echt Mist ! Warum muß ich mit Zeigern arbeiten, wo ich das eigentlich (siehe PHP5) gar nicht benötige. Da hab ich immer einen "new" und "->". PHP5 ist da deutlich besser ! Aber leider krieg ich das auf meinem Web-Server nicht zum laufen
4. im beschriebenen Fall weise ich zwar den Wert 10 zu, soll aber variabel sein
zu 4.:
in php 4 wurde OOP glaub ist eingeführt, oder?
in PHP 5 wurde das eben noch deutlich verbessert
Jojo1 ist offline  
Alt 08.05.2005, 19:35  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von dynamike
php4 ist dann aber echt Mist !
Na wenn Du Fachmann anhand einer einer einzigen Sache sowas festmachen kannst.

Zitat:
Zitat von dynamike
Warum muß ich mit Zeigern arbeiten
Welche Zeiger?

Es gibt übrigens doch eine Variante, nämlich statische Variablen in statischen Methoden, um statische Klassenvariablen in PHP 4 zu emulieren.

Zitat:
Zitat von Jojo1
in php 4 wurde OOP glaub ist eingeführt, oder?
IIRC in PHP3, damals noch bekannt als "Arrays mit Funktionen".
__________________
mod = master of disaster
Waq ist offline  
Alt 08.05.2005, 19:39  
Gast
 
Beiträge: n/a
Standard

Wenn ich das richtig verstanden habe, gibt es in php4 nicht einmal private-Funktionen (alles ist public).

Jetzt habe ich einen Haufen Klassen, wo ich sauber private und public-Members unterscheide und jetzt stelle ich leider fest, daß die php4.3-Version den ganzen Kram gar nicht unterstützt. Also gibt es praktisch keine Alternative als irgendwie auf php5 zu wechseln.

Kann ich irgendwo die binaries für Suse Linux 8.2 bekommen. Ich habe einen Webserver auf dem kein gcc installiert ist. Es wäre zu aufwendig alles soweit zu gestalten, daß ich das normale php5-Download mit configure ... übersetzt bekomme.
 
Alt 08.05.2005, 19:42  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von dynamike
Wenn ich das richtig verstanden habe, gibt es in php4 nicht einmal private-Funktionen (alles ist public).
Da die Unterteilung in private usw. sowieso eine technische Lösung für ein soziales Problem ist, kam PHP immer ganz gut ohne aus.
__________________
mod = master of disaster
Waq ist offline  
 


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
profil dynamike 15.08

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:23 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.