php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.08.2004, 12:19  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

> Naja, wir haben eine wirklich verschiedene Auffassung von dem, was
> Serialisierung eines Objektes bedeutet oder leisten sollte.

Wen meinst du mit wir? Du und Silke? Du und ich? Du und alle anderen PHP-Programmierer? *g

> PHP liegt da meines Erachtens ganz klar ein paar Ligen unter JAVA.

...bis vor kurzem war es in PHP noch garnicht möglich, Objekte zu serialisieren. Und dass die Serialisierung in PHP anders gelöst wurde, hat sicherlich seinen Grund. In aller Regel sind in PHP-Anwendungen doch die Klassen dort auch verfügbar, wo deren Objekte wieder deserialisiert werden, also ist es in meinen Augen nur sinnig, die Klassendefinition draußen zu lassen. Du kannst das Spiel ja auch ins andere Extrem führen und fragen, warum keine Definition des Konstruktes 'Array' einem serialisierten solchen mitgegeben wird *g.

Aber im Ernst: Klar, die OOP-Unterstützung in PHP ist noch lange nicht das, was sie sein könnte, aber man kann damit arbeiten. Man sollte z.B. an alle für eine Serialisierung relevanten Klassen kommen, wenn man in die __sleep()-Methode erst mit get_declared_classes() alle Klassen-Namen eruiert und dann diese mit get_class() und is_subclass() auf ihre Relevanz für das Objekt hin überprüft. Damit hat man dann die Liste aller verwendeten Klassen und kann diese zusammen mit dem serialisierten Objekt abspeichern. Hab das nicht getestet, müsste aber doch gehen, oder?

Deinen Satz von oben hab ich jedoch immernoch nicht erstanden...*g.

Basti
Basti ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.08.2004, 12:51  
Gast
 
Beiträge: n/a
Standard

Ich gebe dir ja vollkommen recht, dass PHP5 wirlich gute Möglichkeiten der OOP bietet im Vergleich zu PHP4. Ich habe mich nur wahnsinnig schwer mit der Logik getan, dass bei der Serialisierung lediglich die Properties gesichert werden. Ich kenne das halt anders. Das meinte ich micht WIR. :)

Und der andere Satz:
Sike hat geschrieben:
Zitat:
jetzt hat dieses objekt eine referenz auf ein anderes und das refenziert noch ein weiteres etc. das würde bedeuten du müssetest all diese klassen mitschleifen => sinnfrei (:
Dazu habe ich geschrieben, dass wenn ein Objekt eine Referenz auf ein anderes Objekt beinhaltet, dann hat die klasse dieses Objektes ja schon dieses andere Objekt inkludiert. Vielleicht haben wir uns da aber auch missverstanden :)

Prinzipiell danke ich euch, denn man kann wirklich mit PHP arbeiten. Klappt schon!
  Mit Zitat antworten
Alt 15.08.2004, 13:12  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard naja

Zitat:
Zitat von bbastix
...bis vor kurzem war es in PHP noch garnicht möglich, Objekte zu serialisieren.
Das serialisieren von Objekten ist seit PHP 4 möglich, also schon mehrere Jahre. In PHP 3 ging es nicht wirklich.
Lediglich verschachtelte Objekte können erst seit späteren PHP 4-Versionen verarbeitet werden, ich glaube ab 4.3.0.
__________________
mod = master of disaster
Waq ist offline   Mit Zitat antworten
Alt 15.08.2004, 13:15  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von florianwendland
Ich habe mich nur wahnsinnig schwer mit der Logik getan, dass bei der Serialisierung lediglich die Properties gesichert werden.
PHP merkt sich den Namen der Klasse und das, was von einer frischen Instanz der Klasse abweichen kann, also die Properties.
Sich mehr zu merken macht unter Performance-Aspekten nicht viel Sinn, Java kann es sich wohl eher leisten, hier mehr mitzuschleppen.
__________________
mod = master of disaster
Waq ist offline   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
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
serialize notyyy PHP Tipps 2008 6 08.12.2007 19:25
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
serialize / unserialize mAy^daY PHP Tipps 2005-2 2 11.08.2005 01:05
serialize() und unserialize() PHP Tipps 2005-2 11 22.06.2005 13:20
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php4 php5 unterschiede unserialize, \ich, du und alle anderen\ scriptor

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