Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] get_object_id
Forum PHP.pl > Forum > Przedszkole
Cezar708
Witam,

czy istnieje jakaś funkcja PHP, która zwracałaby mi identyfikator obiektu?

identyfikator może być jakkolwiek rozumiany (adres w pamięci, jakiś klucz lub cokolwiek identyfikującego obiekt).

Może podam jeszcze przykład o co mniej więcej chodzi:

  1. <?php
  2. $obj1 = new stdClass();
  3. $obj2 = new stdClass();
  4. $obj3 = new stdClass();
  5.  
  6. if ( get_object_id($obj1) == get_object_id($obj2) ){
  7. echo 'to jest ten sam obiekt';
  8. } else {
  9. echo 'to są dwa różne obiekty';
  10. }
  11. ?>


Pozdrawiam
mike
A to nie działa:
  1. <?php
  2.  
  3. if ($obj1 === $obj2){
  4. echo 'to jest ten sam obiekt';
  5. } else {
  6. echo 'to są dwa różne obiekty';
  7. }
  8.  
  9. ?>
questionmark.gif
Cezar708
pewnie zadziałałoby, ale potrzebuję tej funkcji w trochę innym celu:
  1. <?php
  2. $obj1 = new stdClass();
  3.  
  4. $obj2->obj1 = $obj1;
  5.  
  6. // pelno kodu ;) ... ... ... .
  7.  
  8. echo get_obj_id($obj2->obj1);
  9.  
  10. // pelno kodu ;) ... ... ... .
  11.  
  12. echo get_obj_id($obj2->obj1);
  13.  
  14. // pelno kodu ;) ... ... ... .
  15.  
  16. echo get_obj_id($obj2->obj1);
  17. ?>


chodzi o takie pseudo-debugowanie po prostu gdzieś po drodze gubią mi się parametry w obiekcie i chcę sprawdzić czy to na pewno ten sam obiekt.

Pozdrawiam

PS: Niestety nie mam możliwości skorzystania z xDebuga czy ZendDebugera sad.gif
ayeo
Możesz po prostu wyciągnąć to z print_r (regexp), ale jest pewnie bardziej elegancki sposób...
mike
Cytat(Cezar708 @ 9.05.2008, 12:17:40 ) *
chodzi o takie pseudo-debugowanie po prostu gdzieś po drodze gubią mi się parametry w obiekcie i chcę sprawdzić czy to na pewno ten sam obiekt.
A to masz gotowca: spl_object_hash()
ayeo
A nie mówiłem, że jest coś lepszego? smile.gif
Cezar708
Cytat(mike @ 9.05.2008, 10:27:50 ) *
A to masz gotowca: spl_object_hash()


tak dokładnie o coś takiego chodziło, wiedziałem, że coś się znajdzie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.