| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

01-08-2008, 14:20
|
|
chrono
Newbie
|
|
Registriert seit: Aug 2008
Beiträge: 7
|
|
Sichtbarkeit von Konstanten
Servus allerseits,
ich hab ein Problem mit der Sichtbarkeit von Konstanten in einer Klasse.
class DieKlasse {
private const dieKonstante = 0;
....
Konstruktor
....
Funktionen usw.
....
}
Ich möchte halt nicht, dass man von außen auf die Konstante zugreifen kann,
aber obiges Beispiel funktioniert leider nicht.
Habt ihr ne Idee, wie ich das anstellen könnte?
Gruß
Chrono
|

01-08-2008, 14:36
|
TBT
 Moderator
|
|
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.776
|
|
private + von außen?
das geht wohl nicht!
|

01-08-2008, 14:45
|
|
chrono
Newbie
|
|
Registriert seit: Aug 2008
Beiträge: 7
|
|
Das ja genau mein Problem, ohne private kann man von außen auf die Konstante zugreifen.
Ich möchte aber Klassen-Konstanten deklarieren, auf die nicht von außen zugegriffen werden kann.
|

01-08-2008, 14:49
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Klassenkonstanten kann man halt nicht in ihrer Sichtbarkeit einschränken.
|

04-08-2008, 07:48
|
|
Charles Monroe
Newbie
|
|
Registriert seit: Sep 2006
Beiträge: 16
|
|
Wie wäre es den damit?
Code:
class ClassName {
private static $KONSTANTE = 0;
}
Das ist zwar so gesehen keine Konstante, aber der Zugriff ist "private". Wenn man sich nun innerhalb der Klasse daran hält, den Wert nicht mehr zu verändern, hat man im Prinzip seine Konstante. Leider gibt es in PHP noch kein "final"-Modifizierer für "Variablen" (wie in Java). Aber btw. wer unbedingt Zugriffs-Regeln für Felder bzw. Methoden braucht, der sollte sich mal anschauen was JSP und Servlets ausserdem sonst noch so alles können (z.B. Typsichere Methoden usw.) und sich weniger mit Script-Sprachen rumärgern, wo ohnehin jeder Hinz und Kunz drin rumpfuschen kann.
mfg. C. Monroe
Geändert von Charles Monroe (04-08-2008 um 07:52 Uhr)
|

04-08-2008, 10:31
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
PHP erhebt auch nicht den Anspruch, eine objektorientierte Sprache zu sein. Und die Performance von JAVA ist ja wohl mal unter alle Kanone. Da ist PHP ja noch ein Sportwagen gegen
|

04-08-2008, 10:48
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Original geschrieben von unset
PHP erhebt auch nicht den Anspruch, eine objektorientierte Sprache zu sein. Und die Performance von JAVA ist ja wohl mal unter alle Kanone. Da ist PHP ja noch ein Sportwagen gegen
|
Hm ... als reine jsp-Apps ist Java doch nicht lahm, da alles vom Server kommt, aber sobald man Applets einsetzt ist wiederum von Client-Leistung abhängig. Ich setze daher selten Applets ein
|

04-08-2008, 10:55
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
Da ist PHP ja noch ein Sportwagen gegen
|
Kommt imho schwer darauf an was man damit machen will  Es gibt Dinge die gehen mit PHP gar nicht mehr...
|

04-08-2008, 11:14
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Das sind dann aber auch Sachen, die will ich gar nicht in meinem Browser haben
Aber Geschmackssache. Ich finde nur dieses ewig langweilige Bashing ätzend
|

04-08-2008, 11:31
|
|
Charles Monroe
Newbie
|
|
Registriert seit: Sep 2006
Beiträge: 16
|
|
Zitat:
Original geschrieben von unset
Und die Performance von JAVA ist ja wohl mal unter alle Kanone. Da ist PHP ja noch ein Sportwagen gegen
|
Sorry?... Von welcher Java Version reden wir hier? 1.0?...
Tatsache ist doch, das die meisten, die von Java im Zusammenhang mit Performance reden, eigentlich nur vom "hören-sagen" den Java-C++-Vergleich im Kopf haben (wo Java natürlich abstinkt). Und wenn ich nun meinem Tomcat6 mit einer 1.6 Liter Maschine (JDK) sitze, sieht es für mich so aus als fährt dein "Sportwagen" rückwärts. Willst mir doch wohl nicht wirklich erzählen, das eine Interpreter-Sprache, die obendrein für jede Anfrage einen eigenen Prozess startet, in welchem die gleichen Variablen erneut Speicher verschwenden, performanter ist. Ich mach mich da mal schlau z.B. hier.
Das PHP schneller als CGI und Perl ist wissen wir nun... Aber schneller als JSP und Servlets? KEINE CHANCE. Man muss sich halt mit befassen um es zu verstehen.
Ich fürchte wir weichen vom Thema ab. Back to Topic
mfg
C. Monroe
Geändert von Charles Monroe (04-08-2008 um 11:34 Uhr)
|

04-08-2008, 13:26
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
Willst mir doch wohl nicht wirklich erzählen, das eine Interpreter-Sprache,
|
Na Java ist aber auch irgendwie eine Interpreter Sprache. Die JRE ist der Interpreter. Zur Performance-Steigerung wird der Quellcode einfach in ByteCode umgewandelt, aber dieser wird dann interpretiert und sicherlich nicht direkt von der Hardware ausgeführt (wie z.B. bei C++)
EDIT:
Dein Doppel Post habe ich gelöscht
|

04-08-2008, 13:34
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Viele Java Applikationen starten recht lahm, was sich dann zügig bessert, wenn aller ByteCode am JIT(Just in Time Compiler) vorbeigekommen ist.
|

04-08-2008, 13:44
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
|
Viele Java Applikationen starten recht lahm, was sich dann zügig bessert, wenn aller ByteCode am JIT(Just in Time Compiler) vorbeigekommen ist.
|
Das ist der klare Vorteil von Java. Aber mit entsprechenden Erweiterungen kannst du auch den ByteCode von PHP cachen und so einiges an Geschwindigkeit rausholen.
|

04-08-2008, 14:10
|
|
Charles Monroe
Newbie
|
|
Registriert seit: Sep 2006
Beiträge: 16
|
|
Zitat:
Original geschrieben von jahlives
Na Java ist aber auch irgendwie eine Interpreter Sprache. Die JRE ist der Interpreter
|
Richtig... Aber wirklich nur irgendwie... Der Unterschied zu einem Interpreter ist jedoch der, das beim JIT-C der Präprozessor entfällt. Ein Interpreter parsed ein Script, und das pro Aufruf, in mindestens zwei Schritten (Syntax, Logik) bevor es zur Ausführung kommt. Diese und noch einige andere Tatsachen (Beschreibungen sprengen definitiv den Rahmen des Threads) machen Servlets in der Geschwindigkeit von Web-Applikationen nahezu "unschlagbar". Nahezu? Naja... Einerseits: Ich kenne bisher nichts, was an die Geschwindigkeit von Servlets (wir reden hier nicht von Applets!) rankommt. Andererseits: Ich habe mich noch nicht mit aspx (.NET-Framework) befasst.
Back to Topic... (hätt ich blos nicht mit JSP angefangen...)
mfg
C. Monroe
EDIT: PN an den Moderator fällt für mich irgendwie aus: Hätt' gern' mal gewusst, ob und wenn ja wo man den PHP-Entwicklern die Servlet-Technologie näher bringen kann. Nur damit sich meine Behauptungen hier auf Fakten stützen, nach denen man nicht 'googeln' muss.
Geändert von Charles Monroe (04-08-2008 um 14:38 Uhr)
|

04-08-2008, 14:25
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Original geschrieben von Charles Monroe
Ich habe mich noch nicht mit aspx (.NET-Framework) befasst.
|
OffTopic: Die Arbeitsweise von .NET ist genauso wie Java, doch unter Windows OS sind .NET-Apps wesentlich schneller als Java-Apps, was auch verständlich ist 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|