![]() |
![]() ![]() |
![]() |
![]()
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? -------------------- Jeśli życie to kara to nieźle nabroiłem ;-)
|
|
|
![]()
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 ![]() Moze chodzi Ci o cos innego, postaraj sie opisac sytuacje jasniej, na zasadzie co masz i co chcesz z tego osiagnac. -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
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 -------------------- Jeśli życie to kara to nieźle nabroiłem ;-)
|
|
|
![]()
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 ![]() 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 -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
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 ![]() no to jest super rozwiazanie ale klucz musi tez byc powtarzalny a z time () nie jest ![]() -------------------- Jeśli życie to kara to nieźle nabroiłem ;-)
|
|
|
![]()
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.
-------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
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 -------------------- Jeśli życie to kara to nieźle nabroiłem ;-)
|
|
|
![]()
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 ![]() -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 23:27 |