Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie obiektu na podstawie innego obiektu
ayeo
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witam!
Mam taki problem... (skąd my to znamy? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )

Mam obiekt USER i dziedziczący po nim STUDENT. Obiekt USER tworzy się automatycznie w mechanizmie sesji. Czasem jednak zachodzi potrzeba "rozbudowania" tego obiektu do STUDENT'a (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) I teraz jest takie pytanie jak zmienić istniejący obiekt USER na dziedziczący po nim STUDENT?

Z góry dzięki. Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Student jest tworzony zawsze na podstawie Usera np

$user = new Student(User::getUserById(12323));

Konstruktor Studenta pobiera automatycznie wszystkie wartości właściwości Usera i usuwa go. Realizowane to jest za pomocą get_object_vars(); ale muszę to przerobić na print_r() + regexp bo tamta funkcja nie pokazuje właściwości prywatnych.

Z manuala:
  1. <?php
  2. function get_private_properties($obj, $inside=false)
  3.  {
  4.  $obj_dump = print_r($obj, 1);
  5.  preg_match_all('/^s+[(w+):private]/m', $obj_dump, $matches);
  6.  if ($inside)
  7.  {
  8.  $output = array();
  9.  foreach ($matches[1] as $property)
  10.  {
  11.  $output[$property] = $obj->$property;
  12.  return $output;
  13.  }
  14.  }
  15.  else return $matches[1];
  16.  }
  17. ?>


Ten post edytował ayeo 12.04.2008, 12:16:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 03:53