![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%)
|
Witam,
jak zhashowac obiekty ale nie uzywajac serializacji? Myslalem o rozpoznawaniu klasy i danych z obiektu, taki mix bylby w miare unikalny ale to torche za malo. Jakies propozycje? |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%)
|
Nie rozumiem idei hashowania obiektu ?
Jak go zahashujesz to juz go ponownie nie uzyjesz, takze nie rozumiem koncepcji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Moze chodzi Ci o cos innego, postaraj sie opisac sytuacje jasniej, na zasadzie co masz i co chcesz z tego osiagnac. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%)
|
Nie chcem go ponownie uzyc chce go odroznic od innego obiektu tej samej klasy z podobnymi danymi.
Zamierzam tego uzyc w systemie keszowania, potrzebuje miec unikalne klucze dla kazdego obiektu odpada wiec automatyczne numerowanie tablic $tab[] bo wtesy rozne obiekty moga miec ten sam klucz w roznych wywolaniach/sesjach skryptu. Ten post edytował squid 25.07.2007, 10:34:30 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%)
|
No to do tego jest operator === ktory soprawdzi czy to te same instancje obiektu czy inne.
----------edit No to go hashuj sha1/md5 + unique_id + time i juz masz unikalna mieszanke (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) P.S. Na przyszlosc jesli robisz taka znaczaca edycje posta to napisz co zedytowales bo pozniej jak ktos czyta to np moja wypowiedz pod Twopim postem wydaje sie kompletnie bez sensu i nie na miejscu. Ten post edytował thornag 25.07.2007, 10:42:18 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%)
|
nie moge uzyc ani operatora porownania ani f-cji in_array poniewaz niekoniecznie dysponuje wszystkimi instancjami obiektow.
Dany obiekt byl stworzony kiedys w przeszlosci i dzialanie jego metod dalo jakis wynik teraz jest powolany do zycia nowy obiekt i chce sprawdzic czy ten nowy musi wykonywac jakies operacje bo moze byly juz wywolywane kiedys. ----------edit No to go hashuj sha1/md5 + unique_id + time i juz masz unikalna mieszanke (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) no to jest super rozwiazanie ale klucz musi tez byc powtarzalny a z time () nie jest (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%)
|
No to wywal to time tam i unique Id i go zahashuj po prostu sha1 czy czyms, mozliwosc przypadkowego powtorzenia jest naprawde bardzo mala dla sha1.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%)
|
sek w tym ze sha1 przyjmuje jako parametr string a nie object choc nie sprawdzalem co sie stanie jak przekazesz tam object.
mimo wszystko dzieki za pomoc |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%)
|
Zrobilem maly test i sha1 bez serializacji rzeczywiscie nic nie da.
Output: Kod Bez serializacji: 2883f191bc5ebfdc16c0813eff659b35363ea69b 2883f191bc5ebfdc16c0813eff659b35363ea69b >Obiekty zserializowany: 5ef183cc1071c9670c0aa497b353fcf82f1464ea a13d0feb6c841fcd2dda23ec46dfc151e984b36c Wersja PHP: 4.4.3RC2-dev Takze trzeba bedzie kombinowac inaczej jesli nie chcesz serializowac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 19.12.2025 - 03:58 |