Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] get_object_id, Czy istnieje jakaś funkcja zwracająca id objektu?
Cezar708
post 9.05.2008, 11:01:41
Post #1





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


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
Go to the top of the page
+Quote Post
mike
post 9.05.2008, 11:08:26
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


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
Go to the top of the page
+Quote Post
Cezar708
post 9.05.2008, 11:17:40
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


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
Go to the top of the page
+Quote Post
ayeo
post 9.05.2008, 11:21:27
Post #4





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%)
-----


Możesz po prostu wyciągnąć to z print_r (regexp), ale jest pewnie bardziej elegancki sposób...


--------------------
Go to the top of the page
+Quote Post
mike
post 9.05.2008, 11:27:50
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


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()
Go to the top of the page
+Quote Post
ayeo
post 9.05.2008, 11:29:03
Post #6





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%)
-----


A nie mówiłem, że jest coś lepszego? smile.gif


--------------------
Go to the top of the page
+Quote Post
Cezar708
post 9.05.2008, 11:41:40
Post #7





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 09:25