blah, ... odustajem
|
Citat:
ili jos bolje - ako hocete globalnu konstantu: define ('CURRENT_TIME', time()); ;) ne vidim sto bi bilo bitno da li uzimamo unixtime http requesta ili unixtime u trenutku pocetka izvrsavanja skripte... jednostavno, programeru je sve jedno... ne vidim kome/gde bi bilo to bitno... a i u 99% slucaja ce to biti ista sekunda... [mali-offtopic] Citat:
osnovni kod je takav, pa sam i ja godinama doradjivao to isto tako proceduralno... cak mi i uslo u naviku da tako radim [sto znam da NIJE dobro, OOP ne postoji dzaba, al jbg, navika]. a stvarno me mrzi da stavljam php5 i jurim da ispravljam kod... jednostavno ne zelim da menjam nesto sto dobro, stabilno i dovoljno brzo radi... imam preca posla fala Bogu... a nikom ne smeta sto je php4... sto da pravim sebi posao... [mada sam isprobao forum na php5 na localhostu - sve je glatko radilo... al nisam hteo da ulazim u avanturu.] [/mali-offtopic] Citat:
$startup_time = time(); ili define ('CURRENT_TIME', time()); resava sve... cak i bude kompatibilno sa php4/5.0 :D |
Ja sam iz radoznalosti probao da testiram i čini mi se da je potpuno isto koristio time() ili $_SERVER['REQUEST_TIME'].
PHP kôd:
Kôd:
1257281771 |
Evo ja sam pre par dana nasledio jedan PHP 3 projekat (ne nije PHP3 ali pisan je kao da jeste bez linije OOP-a) i radi odlicno na PHP 5.3, jedino sto mora da se stavi ovo:
php_value error_reporting 22519 u .htaccess (ekvivalent error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED)) |
Citat:
|
Citat:
Evo da vidiš koja je razlika kada koristiš sleep: PHP kôd:
Kôd:
REQUEST_TIME = 1257296702 I da pretopostavim da imaš recimo neki order processing i da se tvoj script izvršava 3-4 sekunde (konekcija na payment processor, slanje, process, response, parse... ) i ti treba da zabeležiš recimo timestam kada je izvršena kupovina, ove 2 vrednosti se razlikuju za tih 3-4 sekunde. E sad, ti ćeš reći da je to cinculiranje, možda i jeste u najvećem broju slučajeva ali recimo 2checkout kada šalje notification gradi security key baš preko timestampa, order id... i od toga radi md5. Često ljudi prave hash-ove od timestamp-a, pa recimo šalješ activation link, na primer sačuvaš u bazu: INSERT ... SET hash= md5(time()) i recimo upiše se md5(1257296702), pa onda pripremiš mail i pošalješ activation link: activation?hash=md5(time()) pa ako je bila samo mala razlika (teoretski dovoljno i jedna mikrosekunda) između ova 2 timestampa koja si sačuvao u bazu i poslao na mail - poslaćeš mu pogrešan link: md5(1257296703) i neće uspeti da aktivira account. E sad, ti vaši predlozi da se koristi global, ili da se definiše konstanta na početku scripta (a već imaš jednu konstantu $_SERVER['REQUEST_TIME']) su ... ono... 1000 ljudi - 1000 ćudi :) Ti kažeš "ma nema veze, u 99% slučajeva će sve biti ok", sorry ali to nije razmišljanje progamera :) Opet, ne govorim ni o uštedi u brzini, verovatno je i brzina ista, sve zavisi i od toga šta radite. Ako pišete samo timestmap komentara na blogu onda je verovatno savršeno sve jedno da li je razlika 1, 2 ili 100 sekundi. |
Ljudi ajd raspravljamo o necem pametnijem ... izasao namespace u php 5.3 a mi mlatimo da li je konstantna vrednost konstanta, da li ako prodje 300 mikrosekundi moze proci u sledecu celu sekundu ...
Bah. Over and out. |
ja mislim da se bluz previse uzbudjuje :)
Mislim "problem" je jasan ko dan, i ko ramislja po princiup: "u 99% slucajeva ... " taj je jeban ako radi ko programer :) @dinke Vidjecemo, mlado je to jos :) Ja sam trenutno zaglibio u projekte sumnjam da cu to skoro poceti koristiti, al bice zanimljivo vidjet jel radi to kako treba :) |
Citat:
|
mislim da je dinke samo hteo da kaze da ovde nema puno filozofije da bi se dalje polemisalo, a nek svako koristi ono sto mu deluje lakse... ionako nema razlike :)
mislim, isto je da li uzmes $startup_time odmah iza <? ili je citas iz $_SERVER - isto sa programerskog aspekta. naravno da smo svesni da stalno pozivanje time() funkcije nije pametno. recimo moja skripta [koju pokrece cron] na vesti.rs se izvrsava po 20 min... naravno da imam $startup_time, cak i $startup_hour :) e da... vidis, ako pises skriptu koja se izvrsava kao program [koju pokrece cron], mozda $_SERVER['REQUEST_TIME'] nece ni biti definisana [treba proveriti?]. shvatas i sam da u tom slucaju gubis kompatibilnost ne samo sa php4/5.0 vec i sa izvrsavanjem skripti u konzoli. a opet, kao programeru - tebi je u interesu da napises kod koji ce da radi pod svim okolnostima... odakle znas da li ce za godinu dana projekat dobiti neki modul koji ce da se izvrsava kroz cron... i recimo taj modul koristi funkcije/klase u kojima si ti koristio $_SERVER['REQUEST_TIME'] ... |
Vreme je GMT +2. Trenutno vreme je 11:15. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.