Bu soru yeterince basit görünüyor gibi ama her yerde bir cevap bulamıyorum içerir/dosya değişken oluşturmak istiyorum. bütün sınıflar, yöntemler, fonksiyonlar, komut dosyaları, vb can basit çağrı değişken $ olarak bu değişken dahil olacak şekilde
$variable = 'this is my variable';
Ben, bu değişken tüm komut dosyası içinde mevcut olmasını istiyorum.
Class MyClass
{
public function showvariable()
{
echo $variable;
}
}
$ _SESSION, $ _POST, $ _GET değişkenler hiç öyle davranırlar. Bir yöntem yazabilirim ve $ _POST kullanabilirim ve işe yarayacak. ama ben betiğimin başında tanımladığım $ değişkenini kullanırsam, "Dikkat: Tanımsız değişken: değişken ..." yazıyor. Hatta bir fonksiyon yazdığımda, bir sınıf metodu yerine yazıyor. .
Ben
global $variable = 'this is my variable';
yazmaya çalıştı Ama sonra senaryo ... "HTTP Hata 500 (Dahili sunucu Hatası) yük olmaz: beklenmedik bir koşulla karşılaşıldı sunucu yerine getirmek için denerken talep."
$ _POST gibi global olarak gerçekten erişilebilir bir değişkeni nasıl yapabilirim?
Neden buna ihtiyacım vardı? Özellikle form belirteci olarak kullanmayı planlıyorum. Sayfanın en üstünde, form belirticiyi $ belirteci olarak oluşturuyorum, sayfanın altındaki oturumda saklıyorum. Herhangi bir formu ele almadan önce, SESSION jetonunun POST jetonuyla eşleşip eşleşmediğini kontrol edin ... Ve sık sık sayfada birden fazla formum var (üstteki girişte giriş formu ve ana gövdede kayıt formu). Her formda $ belirtin. Bazen formüllerim sınıflar veya işlevler tarafından oluşturulur, ancak değişkeni tanımıyor ve tanımlanmadığını söylüyorlar.
"Ama sonra komut dosyası yüklenemedi ..." –
Gerçekten de içeriğe bağlı. Hangi durumda küresel bir değere ihtiyacınız var? – Tchoupi
http://www.php.net/manual/en/reserved.variables.globals.php – Musa