php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.08.2007, 17:49  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 243
mAy^daY
Standard __PHP_Incomplete_Class_Name

Hi, ich habe ein Objekt (oUser genannt) welches Benutzerdaten des aktuellen Benutzers speichert.

PHP-Code:
class oUser {
  public 
$Name '';
  
// ......

  
public function setName($sName) {
    
$this->Name = (string)substr($sName032);
  }
  
// ......

Beim Login wird dieses Objekt erzeugt und die Daten dort reingeschrieben, ein var_dump($User) zeigt mir folgendes an:

Code:
  ["User"]=>
  object(__PHP_Incomplete_Class)#1 (6) {
    ["__PHP_Incomplete_Class_Name"]=>
    string(5) "oUser"
    ["Name"]=>
    string(3) "Testuser"
    ["Created"]=>
    int(1185982312)
    ["LastLogin"]=>
    int(1185983345)
    ["Logintime"]=>
    int(1185983347)
    ["Level"]=>
    int(1)
  }
Jetzt die Frage, was genau bedeuted das "__PHP_Incomplete_Class_Name"? Das incomplete stört mich hier etwas, habe ich irgendwas falsch gemacht bzw. was wäre denn dann ein __PHP_Complete_Class_Name?

(Das Script funktioniert wie es soll, die Bezeichnung ist mir eben nur durch var_dump aufgefallen, Fehlermeldungen werden auch keine erzeugt)
mAy^daY ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.08.2007, 18:07  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Manual - Objekte serialisieren
Zitat:
Zitat von Manual
Um ein Objekt wieder deserialisieren zu können, muss die Klasse dieses Objektes definiert werden. Das heißt, wenn Sie ein Objekt $a der Klasse A in page1.php haben und dieses serialisieren, erhalten Sie eine Zeichenkette, die sich auf die Klasse A bezieht, und alle Werte der in $a enthaltenen Variablen enthält. Wenn Sie $a der Klasse A in page2.php mittels unserialize wiederherstellen möchten, muss die Definition von Klasse A in page2.php vorhanden sein. Dies kann zum Beispiel durch das Speichern der Klassendefiniton von Klasse A in einer Include-Datei, und das Einbinden dieser Datei sowohl in page1.php und page2.php realisiert werden.
Du hast vergessen zu erwähnen, dass du dieses User-Objekt über eine Session mitschleppst Das bedeutet: Erst alle Klassen laden, die Objekte in der Session liegen haben, erst dann Session starten. Kannste auch einfach haben: Daten als primite Typen ablegen und dann anhand dieser Daten einfach ein neues Objekt erstellen.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 01.08.2007, 18:15  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 243
mAy^daY
Standard

Ja stimmt, "User" steckt in $_SESSION...

Ok, dann muß ich das ganze etwas umbauen,
Danke!
mAy^daY 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
__php_incomplete_class_name, php_incomplete_class_name, [__php_incomplete_class_name], php incomplete class, php __php_incomplete_class_name, __php_incomplete_class object ( [__php_incomplete_class_name], [__php_incomplete_class_name, __php_incomplete_class object, php incomplete class name, __php_incomplete_class_name\', __php_incomplete_class_name session, \__php_incomplete_class_name\, __php_incomplete_class_name\, __php_incomplete_class_name php, incomplete class name php, php php_incomplete_class_name, __php_incomplete_class object __php_incomplete_class_name, [\__php_incomplete_class_name, php_incomplete_class object, \[__php_incomplete_class_name]\

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