Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 2. 8. 2009, 22:35:16 · Upravil/a: SwimX
Dobrý den,
mám $_SESSION['filtr] = array(); a postupně do něj zapisuji $_SESSION['filtr']['jmeno'] = $_POST['jmeno'] atd. dokonce i foreach($_POST['sport'] as $key => $val){ $_SESSION['filtr']['sport'][$key] = $val } Teď mi kolega v práci řekl, že do sessiony se nesmí dávat pole? Co vy nat to? Můj filtr mi normálně funguje takže nemám v plánu to měnit, ale zaratilo mě to, prý je třeba vždy serializovat pole než se zapíše do sessiony. Je to mýtus, nebo to má nějaké opodstatnění? |
||
Radek9 Profil |
#2 · Zasláno: 2. 8. 2009, 22:37:35
SwimX:
Pokud to funguje, tak nechápu proč by se to nemohlo. Nemůžu třeba doskočit 10km, ale můžu do sessions ukládat pole. |
||
SwimX Profil |
#3 · Zasláno: 2. 8. 2009, 22:39:30
Radek9:
Díky, ale stejně tak můžu pracovat s neinicializovanými proměnnými, stejně tak můžu udělat switch($a) { case abc: break;} a php z abc udělákonstatu do níž vloží abc a fuunguje to, ale je to řekněme "nečisté" |
||
fuckin Profil |
#4 · Zasláno: 2. 8. 2009, 22:50:09
ne, vypise to notice.
Pri vlozeni pole do session ti to neco takoveho taky vyhodi? Nebo z jakeho duvodu je to neciste? Je to naprosto normalni a dela to tak kazdy. Jestli mas dukaz ukaz ho! Vyraz "sessiony" slysim poprve v zivote. Session popr sessions. |
||
tiso Profil |
#5 · Zasláno: 2. 8. 2009, 23:19:20
SwimX: hlavne by si mal so $_SESSION robiť niečo užitočné... Načo tam kopíruješ celý formulár?
|
||
fuckin Profil |
#6 · Zasláno: 2. 8. 2009, 23:48:44
tiso
Ja to taky nekdy delam abych zamezil znovu odeslani stejneho formulare. Ted to spis ale resim pres unikatni ID. |
||
DoubleThink Profil * |
#7 · Zasláno: 3. 8. 2009, 00:13:51
„Teď mi kolega v práci řekl, že do sessiony se nesmí dávat pole? Co vy nat to? “
Kolega je hloupý. Session je pole a jeho prvky můžou obsahovat totéž co normální pole. |
||
SwimX Profil |
#8 · Zasláno: 3. 8. 2009, 16:53:53 · Upravil/a: SwimX
Děkuji za názory
DoubleThink: „Kolega je hloupý“ no tak to určitě není :) nevím co ho k tomuto vedlo. fuckin: „Nebo z jakeho duvodu je to neciste?“ to netvrdím, na to se právě ptám. Notici mám vyplé, nečtu neřeším :) „Jestli mas dukaz ukaz ho!“ Ale vždyť na něj se tu právě ptám, zjevně si nepochytil dotaz. „Vyraz "sessiony" slysim poprve v zivote. Session popr sessions.“ sessiony mi vyhovují. Jsem čech, tak skloňuji, až budu něco psát anglicky, pak jistě použiji adekvátní výraz. tiso: „Načo tam kopíruješ celý formulár?“ je to filtr. Vybereš si kraj, okres, sporty atd. -> vyfiltruješ společnosti. pak si na nákou klikneš, rozevřeš její detail, vrátíš se -> a v tuto chvíli neexistují POSTy takže se zruší filtry a ty si můžeš znovu pracně nastavovat všechny filtry. Takle to tam drží, jak přišité :) |
||
tiso Profil |
#9 · Zasláno: 3. 8. 2009, 16:59:54
SwimX: v tom prípade môže byť...
|
||
Majkl578 Profil |
#10 · Zasláno: 3. 8. 2009, 20:18:47 · Upravil/a: Majkl578
do session jde ulozit i instance objektu
<?php session_start(); if(!isset($_SESSION['test'])) { $_SESSION['test'] = new stdClass(); } var_dump($_SESSION['test']); $_SESSION['test']->temp = uniqid(); co se tyce slova "sessiony", videl jsem i "php sešny", coz mi prijde opravdu priserne |
||
Mastodont Profil |
#11 · Zasláno: 3. 8. 2009, 21:05:34 · Upravil/a: Mastodont
SwimX
Řekni tomu svému kolegovi, ať se laskavě podívá, jak vlastně uložená session vypadá :-))) Ona se totiž jako serializované pole ukládá automaticky. Například pro tento kód: session_start(); $_SESSION['jedna'] = Array(0,2); se ti uloží sešna v této podobě: jedna|a:2:{i:0;i:0;i:1;i:2;} sessiony mi vyhovují. Jsem čech, tak skloňuji Tak skloňuj slovo "relace", to je překlad :) Hlavně ne "sezení", to se taky občas vyskytuje. |
||
SwimX Profil |
Majkl578:
„co se tyce slova "sessiony", videl jsem i "php sešny", coz mi prijde opravdu priserne“ já viděl i sejšny ;) |
||
Mastodont Profil |
#13 · Zasláno: 3. 8. 2009, 22:30:37
SwimX
Je to tak, koneckonců je to napsáno i v manuálu - http://cz.php.net/manual/en/intro.session.php Ale třeba měl kolega jen špatnej den, nemusíš mu to dávat moc sežrat (pokud samozřejmě něco podobného nedává k lepšímu každý týden). |
||
SwimX Profil |
#14 · Zasláno: 3. 8. 2009, 22:32:42
Mastodont:
nedává, naopak si k němu rád chodím pro radu. Většinou má pravdu, todle mu prostě ulítlo :) Ostatně odkaz na tuto diskusi jsem mu poslal, moná i teď čte :)) |
||
fuckin Profil |
#15 · Zasláno: 3. 8. 2009, 22:36:58
SwimX
Kazdy se muze splect. Ten kdo rika ze se nikdy nespletl je jen sprosty lhar :-), nejlepsim ucitelem je zivot, konkretne pouceni z chyb. |
||
Mastodont Profil |
#16 · Zasláno: 3. 8. 2009, 22:38:25
SwimX
Tvůj kolega má ale určitě pravdu v tom, že arrays - především větší - je vhodné ukládat serializovaně, výrazně se totiž zrychluje načítání. |
||
Majkl578 Profil |
#17 · Zasláno: 3. 8. 2009, 22:38:51
Mastodont
heh, presne to me taky napadlo kdyz jsem to prvne cetl... |
||
SwimX Profil |
fuckin:
pěkný citát :) autor? |
||
DoubleThink Profil * |
#19 · Zasláno: 4. 8. 2009, 03:01:55
„Tvůj kolega má ale určitě pravdu v tom, že arrays - především větší - je vhodné ukládat serializovaně, výrazně se totiž zrychluje načítání.“
Prozraď mi prosím, jak jinak (než nějakou formou serializace) bys chtěl ukládat vícerozměrné objekty do (jednorozměrného) souboru? PHP sessions do souborů ukládá - myslíš, že tato implicitní serializace nebude nejlepší možná? Těžko. |
||
Mastodont Profil |
#20 · Zasláno: 4. 8. 2009, 05:55:24
DoubleThink
Jsou lidi, co namísto serialize -> zápis -> načtení -> unserialize používají var_export -> zápis -> include. A u konfigurací se velmi často používá třeba soubor XML nebo YAML, jehož obsah parser převede na pole. |
||
Časová prodleva: 15 let
|
0