PHP hızlandırıcılar ve statik alanlar

1 Cevap php

PHP yorumlayıcısı içinde statik (sınıf) mümessilliğini alan hakkında bilmek istiyorum.

Java ile bir sınıf yüklediğinizde Örneğin, statik alanlar o Sınıf nesnesi ile ilişkili olacaktır; aynı JVM (ve aynı classloader) çalışan iki uygulama paylaşılan global değişken çeşit var demektir ;)

PHP hızlandırıcı / opcode önbelleğe çeşit kullanmak, ben sadece merak ediyorum, gerçekten ne önbelleğe olduğunu? Sadece derlenmiş bytekod, veya (sınıf nesneleri saklamak için sorumlu) VM devletin bir parçası mı?

Ben, vb istekleri arasındaki paylaşımı statik alanlar / tekiz nesnelerin korkuyorum çünkü bulunuyor

PS: Ben gerçekten bir PHP acemi değilim, bu yüzden soru yol çok aptal ise çok üzgünüm :)

1 Cevap

Bir opcode önbellek şey değişmez: Her PHP komut dosyası diğerlerinden izolasyon içinde, kendi işleminde (or thread) tarafından yürütülür.

Bir opcode önbellek sadece olacak önbellek opcodes (the PHP equivalent of JAVA's bytecode), ve irade ne de senaryonun geçerli yürütme ile ilgili değil saklamak - yani değil "VM state" herhangi bir tür.

Bu static değişkenleri bu komut paralel birkaç kez idam olsa bile, PHP komut her yürütülmesi için bir sürüm var demektir; ve bir opcode önbellek kullanarak ya da bir şey değişmeyecek.