php - Bunu reinstantiating olmadan başka bir script zaten örneklenmiş sınıfının özelliklerine erişmek için herhangi bir yolu var mı?

2 Cevap php

Ben belirli bir sunucu için bir istemci uygulaması sayfa Kerpiç var. Main.php üç kare ile bir penceredir.

main.html

<frameset frameborder=no border=0>
 <frame name='top1' src='top1.php' frameborder=no scrolling=no>
        <frame name='top2' src='top2.php' frameborder=no scrolling=no>
 <frame name='firstpage' src='firstpage.php' frameborder=no scrolling=auto>
</frameset>

firstpage.php

<?php 
....
....
require_once("connection.php");
// connection.php is a class which opens a socket and establishes with another server.
set_time_limit(0);
ignore_user_abort();

function parse($line) {
//parses $line returns $a which contains some data etc
....
return $a;
}

$connect= new Connection();
.....
$line=$connect->socket_read(1028);
.....
while ($i<200) {
$GLOBALS[userdata][$i]=parse($line);
.......
}
?>

firstpage.php is a large script and i have trimmed majority of firstpage.php for reasons of legibility. connect.php and firstpage.php are working exactly the way i desire.

Ben daha fazla işlem için top1.php ve Top 2 de $ GLOBALS [veri] kullanılabilir olması gerekir. Ben tekrar connect.php başlatmasını OLMADAN $ GLOBALS [veri] erişebilirsiniz yine de var mı? (I top1.php ve top2.php yapmak isteyen veri işleme ben burada tartışmak değil nedenlerle firstpage.php yapılabilir EDİLEMEZ.) Zaten irade firstpage.php sunucudan veri olarak connect.php reinstantiate olamaz Benim sunucu tarafından yeniden gönderilmesini değil.

Ben firstpage.php infintely $ GLOBALS çalışır beri yazılı almıyor anlamışlardır. Hemen $ GLOBALS [veri] [$ i] = parse ($ line) session_write_close denedim; while döngüsünde. Ama bu yardım göstermiyordu.

Ayrıca top1.php, top2.php ve firstpage.php olarak Sessionıd aynı olduğunu bulduk.

Herkes bana doğru yönde işaret edebilir?

Teşekkürler!

2 Cevap

Sayfalar tamamen ayrı istekleri gibi işlenir, böylece geleneksel anlamda aralarında veri paylaşımı olamaz.

Tüm sayfaları aynı oturumun parçası olarak yüklenmiş olacaktır beri teorik olarak bunu yapmak için oturumu kullanabilirsiniz. Ancak, yüklü sırası tam öngörülebilir değildir, bu nedenle diğer yüklenen zaman bir sayfa bitirmişti emin olamazdı. Yani pratikte muhtemelen ya işe yaramaz.

Çerçeveler sorunlara neden neden başka bir nedeni ..

Ben çerçeveleri sorun olmadığını düşünüyorum. Ben infintely çalışan bir komut dosyası var.

I bir sınıf örneği ve komut dosyası hala çalışıyor yana i sınıfının özellikleri / veri üyeleri yerde kullanılabilir olması gerektiğini tahmin. Zaten örneği sınıfının bu yani veri üyeleri / özelliklerine erişmek için herhangi bir yolu var mı?