Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przekazywanie resource?
matx132
post 23.04.2011, 09:24:09
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 19
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


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ź
Go to the top of the page
+Quote Post
Fifi209
post 23.04.2011, 10:18:20
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


A nie możesz po prostu zapisać w sesji?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
matx132
post 23.04.2011, 10:57:39
Post #3





Grupa: Zarejestrowani
Postów: 243
Pomógł: 19
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
wookieb
post 23.04.2011, 10:58:53
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie da się przekazać resource-ów pomiędzy skryptami w php. Tak więc niestety ale nic z tym nie zrobisz.
Powód edycji: [wookieb]:


--------------------
Go to the top of the page
+Quote Post
zegarek84
post 23.04.2011, 15:11:48
Post #5





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


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

Ten post edytował zegarek84 23.04.2011, 15:12:26


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
Crozin
post 23.04.2011, 15:51:04
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
matx132
post 23.04.2011, 17:35:33
Post #7





Grupa: Zarejestrowani
Postów: 243
Pomógł: 19
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


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ź.
Go to the top of the page
+Quote Post
Crozin
post 23.04.2011, 17:42:18
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jaki błąd? Pokaż jak próbowałeś to zrobić.
Go to the top of the page
+Quote Post
matx132
post 23.04.2011, 17:48:24
Post #9





Grupa: Zarejestrowani
Postów: 243
Pomógł: 19
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


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ę?
Go to the top of the page
+Quote Post
Crozin
post 23.04.2011, 17:54:43
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. http://pl.php.net/manual/en/language.oop5.serialization.php
2. http://pl.php.net/manual/en/class.serializable.php
Go to the top of the page
+Quote Post
matx132
post 23.04.2011, 18:56:17
Post #11





Grupa: Zarejestrowani
Postów: 243
Pomógł: 19
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


bardzo dziękuje za pomoc, wszystko działa poprawnie:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 23:31