Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazywanie resource?
Forum PHP.pl > Forum > Przedszkole
matx132
Witam,
mam takie pytanie czy jest taka możliwość:
Tworzę sobie w jednym pliku nową klasę

  1. $new=new class;


I czy jest teraz możliwość aby za pomocą js/ajax przekazać uchwyt tej klasy do innego pliku w tle?
Chodzi oto iż stronę chcę zbudować na js/ajax ale ciągłe tworzenie klasy w której mm już wszystko na nowo mija się z celem, dlatego takie dziwnie pytaine czy jest sposób aby przekazać uchwyt do tej klasy abym mógł na niej pracować w innym pliku bez ponownego tworzenia jej na nowo?

Z góry dziękuje za odpowiedź
Fifi209
A nie możesz po prostu zapisać w sesji?
matx132
a jest możliwość zapisywania w sesji resources? nigdy nie próbowałem dlatego najpierw zapytałem się czy jest taka możliwośćsmile.gif
jak tylko wrócę z kościoła to spróbuje tego sposobu
wookieb
Nie da się przekazać resource-ów pomiędzy skryptami w php. Tak więc niestety ale nic z tym nie zrobisz.
zegarek84
tak jak już napisał @wookieb - ale to też zależy dokładniej od problemu, gdyż jeśli gra warta świeczki i inicjacja tamtych procesów/klasy zajmuje sporo czasu to jest pewne rozwiązanie - luknij na ten temat:
Przekazywanie obiektu COM, Przekazywanie obiektu COM między wywołaniami strony - generalnie chodzi o sockety...

przy czym napomnę, że socketa możesz podpiąć pod plik (unixowe sockety) bądź na porcie... na sockecie można zrobić nasłuch i zrobić jakiś serwer dostępowy (nie koniecznie WWW) - no w zasadzie do tego służą sockety ;]

ostatnio tematem bardziej się interesuję choć piszę hobbystycznie to do kilku rozwiązań mi się to przyda (ale taki grubszy demon usług podpięty pod socket)... przy czym na większości hostingów współdzielonych można skorzystać z unixowych socketów - więc można zrobić taki lokalny serwerek do komunikacji ze skryptami które się połączą z nim.... by podpiąć socketa na porty musiałbyś mieć już serwer dedykowany - wtedy w miarę potrzeb można by podpiąć nawer własny mini serwerek WWW pod daną część zapytań z sieci...

jeśli sockety będziesz miał w trybie blokowanym nie będziesz musiał stosować sleep - ale to jeśli proces ma tylko nasłuchiwać i dawać natychmiastową odpowiedź - jeśli proces co jakiś czas ma jeszcze na serwerze robić musiałbyś nasłuch na socketach zrobić w trybie nie blokowanym...

Guru - Multiplexing

mi są znane 2 serwery napisane w php o których w celach optymalizacyjnych wspomniałem w tym temacie:
http://forum.php.pl/index.php?showtopic=17...=0&p=857142
Crozin
Wątek dotyczy obiektu, a nie zasobu, tak? Co prawda w PHP bardzo ciężko o jakiś naprawdę sensowny sposób na przechowywanie obiektów pomiędzy żądaniami. Na dobrą sprawę będziesz pewnie musiał to wepchać do zmiennej sesyjnej, która jest serializowana, a zatem i Twój obiekt powinien być w stanie się (de)serializować.
matx132
próbowałem już w sesji przechowywać lecz wyskakiwał błąd przy próbuje odwołania się do zasobu w sesji, ale ok zrobię to normalnie

Dziękuje za odpowiedź.
Crozin
Jaki błąd? Pokaż jak próbowałeś to zrobić.
matx132
tak próbowalem

  1. require_once("include/class.php");
  2. $_SESSION['test']=new clasw;
  3. $_SESSION['test']->test();


a w innym pliku próbowałem wywołać

  1. require_once("include/class.php");
  2. $_SESSION['test']->test();



a błąd
Kod
Fatal error: main() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;clasw&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:\wamp\www\test.php on line 9


chyba że coś źle robię?
matx132
bardzo dziękuje za pomoc, wszystko działa poprawnie:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.