Nasıl bir değişken başka bir php-dosyasında tanımlanan görebilirim?

4 Cevap php

Ben bütün php dosyalarında aynı sabitini kullanın. Ben bütün dosyaları bu değişkenin değerini atamak istemiyorum. Yani, ben bir "parameters.php" dosyası oluşturmak için ve orada atama yapmak istedim. Sonra tüm diğer dosyaları ben include "parameters.php" ve kullanımı değişkenleri "parameters.php" tanımlanmıştır.

Bu fikir oldu ama çalışmıyor. Ben de global değişkeni yapmaya çalıştım. Ayrıca çalışmıyor. Ne istediğinizi yapmak için bir yolu var mı? Ya da orada bazı alternatif bir yaklaşım olabilir?

4 Cevap

Bu işler tam olarak nasıl olduğunu.

Eğer hata raporlama kurmak var ve hata günlüğünde bir şey var mı? Ben başarısız olduğunu ancak hata görmüyoruz bulunur tahmin ediyorum.

Ben bir işlev gövdesi içinde global değişkenler kullanmaya çalışıyoruz tahmin ediyorum. Bu şekilde tanımlanan değişkenler global bir beyanı olmadan işlevler içinde erişilebilir değil in the function.

Örneğin:

$foo = 'bar';

function printFoo() {
  echo "Foo is '$foo'";   //prints: Foo is '', gives warning about undefined variable
}

Iki alternatif vardır:

function printFoo() {
  global $foo;
  echo "Foo is '$foo'";   //prints: Foo is 'bar'
}

OR:

function printFoo() {
  echo "Foo is '" . $GLOBALS['foo'] . "'";   //prints: Foo is 'bar'
}

Diğer seçenek, Finbarr mentions, bir sabit tanımlamak olduğu gibi:

define('FOO', 'bar');

function printFoo() {
  echo "Foo is '" . FOO . "'";   //prints: Foo is 'bar'
}

Tanımlama sabit sonra üzerine edilemez bir avantaja sahiptir.

PHP tanımlamak bakın: http://php.net/manual/en/function.define.php

define("CONSTANT_NAME", "Constant value");

Ile başka koddan erişilebilir CONSTANT_NAME. Bu yanlışlıkla değişken sabitleri üzerine yoktur sağlayacaktır - değerleri sabit iseniz, define işlevini yerine sadece değişkenleri kullanmak için kesinlikle en iyisidir.

Tüm sayfaları parametreleri ve daha sonra ilgili alt sayfalara gönderme tanımlayan bir dosya başlar var. Bu yolu ilk dosyasında tanımlanan değişkenler dahil tüm sayfalarda var olacaktır.