Autor Zpráva
bzuK
Profil
Ahojky,

moje PHP výtvory jsou čím dál větší, složitější a míň přehledné.

Mám tušení, že je čas na OOP. Nemám problém pochopit, o co v OOP
jde, ale nechápu jak se dá přenést ten velký a složitě vytvořený objekt
na další stránku, kterou si uživatel vyžádal? Jak se to v praxi dělá?

Děkuji za vysvětlení.
roberta
Profil
ty chceš posielať objekt na klienta? však objekty "žijú" na serveri, spracujú požiadavku od klienta, urobia výsledný html kód a ten sa pošle klientovi...
inak ak sa chceš naučiť OOP, tak sa to uč v nejakom objektovo orientovanom jazyku. PHP je skriptovací jazyk, ktorý síce má niektoré vlastnosti OOP, ale ešte zďaleka nie je plne objektový. Preto sa ani nepoužíva na tvorbu "veľkých" informačných systémov.
Anonymní
Profil *
Omlouvám se, napsal jsem to nepřesně. Nechci přenášet objekt na stránku, ale do dalšího skriptu.

OOP umím a chápu - Nad OOP v PHP ale tápu.

Na co je mi vytvoření objektu, když objekt zanikne s koncem skriptu a mezi jednotlivými skripty můžu komunikovat jen ?pres=parametry&v=url?

Jde nějak bez databáze uložit někam objekt a později si ho "vyzvednout", když uživatel přejde na jinou stránku (skript) na tomtéž serveru?
roberta
Profil
no to je jasné, že objekt zanikne koncom skriptu. vo väčšine prípadou ani nepotrebuješ aby nezanikol. to máš presne to isté, ako s obyčajnými premennými. tie tiež napĺňaš vždy nanovo po dotaze od klienta. keď nechceš, aby ti hodnota nejakej premennej zanikla, tak ju treba dať do session premennej, v ktorej zostane dovtedy, kým sa užívateľovi neskončí session (zavre okno, alebo programovo mu odstrániš session premenné) podobne aj objekt môžeš dať do session premennej...
roberta
Profil
alebo ti to vysvetlím inak.
zamysli sa, ze ako funguje PHP technológia. Ide o to, aby si v php súbore vygeneroval html kód. O nič iné. Pri neobjektovom programovaní používaš "klasické" programovanie, napĺňaš premenné, pomocou ktorých sa ti dynamicky vytvorí html kód. To dúfam chápeš. po ukončení skriptu sa hodnoty tých premenných stratia. A presne to isté sa deje pri OOP prístupe. Napĺnaš objekty vstupmi od klienta (posiela ti ich cez GET/POST) a tie objekty musíš naprogramovať tak, aby tiež generovali html kód. A keď je už celá stránka vygenerovaná, tak web server to pošle klientovi a čaká na ďalšie vstupy od klienta. Načo by si mal tie objekty niekde pamätať? Keď príde nová požiadavka, tak si tie objekty znova vytvorí, vygeneruje html a zruší objekty. Teba asi mýli to, že pri desktopových aplikáciách tie objekty "žijú" dovtedy, kým užívateľ tú aplikáciu nezatvorí. Ale pri takých aplikáciách podobne "žijú" aj premenné. Tu si ale treba uvedomiť, že pri web aplikáciách sa proste všetky (okrem session,...) premenné, objekty stratia po vygenerovaní html.
kaifman
Profil
$_SESSION['tvujObjekt']=serialize($object);

>>>
obnoveni
>>>

$object=unserialize($_SESSION['tvujObject']);
Toto téma je uzamčeno. Odpověď nelze zaslat.

0