|
|
|
|
|
|
|||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
|
|
LinkBack | Themen-Optionen | Thema bewerten |
|
|
#1 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 01.12.2008
Beiträge: 452
PHP-Kenntnisse: Fortgeschritten ![]() ![]() |
@mod: Nach Bedarf in Offtopic verschieben, dachte mir könnte auch hier passen
PHP: Datastructures - Manual Ich hab mir grad ein wenig die Neuerungen von PHP5.3 angesehn und bin auf diese Listen gestoßen. Ich fragte mich auch, ob es nicht eine OOP-Version von Arrays gibt. Gibt es: PHP: ArrayObject - Manual Diese Klassen würden sich ja auch als Eltern für eigene Grupperiungen von Objekten eigenen, was haltet ihr davon? Gibt es irgendwelche Erfahrungen? Wie ist die Performance? |
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) | ||||
|
moderatives Dielektrikum
Registriert seit: 21.05.2008
Beiträge: 21.160
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Zitat:
ArrayObject und Iterator sind schon was älter. Zitat:
Zitat:
Zitat:
__________________
-- „Eins ist Fakt: Gescannt wird nackt!“ Privatsphäre 2.0 - Nacktscanner mit Eyetracking. Unser Flugzeug darf kein geschlechtsfreier Raum sein. -- Geändert von nikosch (22.09.2009 um 23:03 Uhr). |
||||
|
|
|
|
|
#3 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 14.06.2009
Beiträge: 544
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() |
Beim SplFixedArray behauptet einer in den Kommentaren, die seien schneller als normale PHP-Arrays. Ich weiß von den Iteratoren noch, dass sie extrem langsam sind (waren?), weil sie in PHP implementiert sind (again: waren?). Aber meine Informationen scheinen da auch nicht mehr so neu zu sein und die gerade verlinkte SPL-Doku wird im PHP-Handbuch als "legacy" angegeben.
Was mich gerade in seinen Bann zieht, ist das hier: PHP: SPL Types - Manual. "Objekt-Wrapper" für primitive Datentypen? Die Richtung gefällt mir. |
|
|
|
|
|
#4 (permalink) | |
|
moderatives Dielektrikum
Registriert seit: 21.05.2008
Beiträge: 21.160
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Zitat:
__________________
-- „Eins ist Fakt: Gescannt wird nackt!“ Privatsphäre 2.0 - Nacktscanner mit Eyetracking. Unser Flugzeug darf kein geschlechtsfreier Raum sein. -- |
|
|
|
|
|
|
#5 (permalink) | ||
|
Erfahrener Benutzer
Registriert seit: 01.12.2008
Beiträge: 452
PHP-Kenntnisse: Fortgeschritten ![]() ![]() |
Zitat:
Zitat:
Letztlich entscheide ich mich dann dafür. Muss mal sehen wie ich das genau angehe. Gibt es für die StrongTypes da noch irgendwas, das man wissen könnte? Operatoroverloading gibt es ja noch nicht in PHP, daher seh ich da keinen Sinn, das zu verwenden.. ich mag eigentlich die dynamischen Typen von PHP... |
||
|
|
|
|
|
#6 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 17.07.2009
Beiträge: 114
PHP-Kenntnisse: Anfänger ![]() |
Hatte vor kurzem Array mit SplFixedArray verglichen. SplFixedArray ist nicht nur schneller, es braucht auch deutlich weniger Speicher!
5000000 Schleife erstellen und dann mit isset() auf den letzten Eintrag prüfen SplFixedArray in ca. 5 Sekunden mit 180 MB Array in ca 14 Sekunden mit 400MB |
|
|
|
|
|
#7 (permalink) |
|
moderatives Dielektrikum
Registriert seit: 21.05.2008
Beiträge: 21.160
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Naja gut, ein nicht-dynamischer Index ist aber auch ein echter Nachteil
__________________
-- „Eins ist Fakt: Gescannt wird nackt!“ Privatsphäre 2.0 - Nacktscanner mit Eyetracking. Unser Flugzeug darf kein geschlechtsfreier Raum sein. -- |
|
|
|
|
|
#8 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 01.12.2008
Beiträge: 452
PHP-Kenntnisse: Fortgeschritten ![]() ![]() |
Mh.. also nach oben könnte man ihn ja recht leicht öffnen.
PHP-Code:
Die meisten Exceptions würden so übrigens immer noch gewollt auftreten (bei invalidem $index). Bekommen wir eig. mit PHP bald ein zweites Java? Ich hab gehört mit PHP6 könnte return-Typehinting kommen. Interfaces und Klasses haben wir ja schon.. |
|
|
|
|
|
#9 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 17.07.2009
Beiträge: 114
PHP-Kenntnisse: Anfänger ![]() |
Die dynamische Erweiterung eines SplFixedArrays hatte ich auch getestet, lag bei doppelter Zeit eines normalen Arrays.
Es gibt immer mal Stellen an denen ich ein Array mit nicht-dynamischem Index gebrauchen kann, daher wollte ich wissen ob sich ein FixedArray auszahlt und machte den Vergleichstest. Ich finde es lohnt sich genauer abzuwägen ob man ein simples Array einsetzt oder es für den Zweck nicht auch einfach nur ein FixedArray tut |
|
|
|
|
|
#10 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 01.12.2008
Beiträge: 452
PHP-Kenntnisse: Fortgeschritten ![]() ![]() |
Würdet ihr dann für den Fall eines dynamischen Arrays ArrayObject verwenden? Ich finde das besser die Funktionen direkt auf das Array anwenden zu können. Ich meine ich mag die objektorientierte Schreibweise...
|
|
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Daten in XML oder INI speichern | mAy^daY | PHP Tipps 2007 | 9 | 27.02.2007 12:30 |