Kullanılacak içindeki fonksiyon değişkenleri PHP içerir

5 Cevap

Öyle gibi başka bir dosya içeren bir işlevi var

// some function
function SomeFunction()
{
   $someData = 'SomeData';
   include_once('some_file.php');
}

// some_file.php
<?php echo $someData; ?>

Nasıl dosya arama fonksiyonu değişkenleri kullanabilirsiniz şunlardır nerede bu işe almak istiyorsunuz? Ben bazı çıktı tamponlama kullanarak olacaktır.

5 Cevap

Sürece $someData SomeFunction() 'de tanımlandığı gibidir, some_file.php $someData erişebilir.

Eğer SomeFunction() dışında değişkenlerine erişim gerekiyorsa, SomeFunction() argüman olarak onları geçmek.

Zaten mevcut bulunuyor :)

Bkz include()

En iyi tüm kullanım küresellerle yapmak değil, ama parametre olarak değişken geçerdi:

function SomeFunction()
{
   $someData = 'SomeData';
   include_once('some_file.php');
   some_foo($someData);
}

Aksi takdirde, en azından uzun vadede, spaghetty kodu kod tabanı dönüştürme riski.

Tür fonksiyonlar ... ne dosyaları dahil etmek örgütlenmemiş görünüyor ...

function SomeFunction()
{
   $someData = 'SomeData';
   return $someData;
}

$data = SomeFunction();
<?php include('file.php') ?> // file.php can now use $data

Sen bir şey yapmak zorunda değilsiniz. include() (ve kardeşleri var) Kullanımı kopyalayıp yapıştırarak () dahil noktada dahil dosyasına dahil dosyasından kod denir benzer.

Basit bir örnek

test.php

<?php

$foo = 'bar';

function test()
{
  $bar = 'baz';
  include 'test2.php';
}

test();

test2.php

<?php
echo '<pre>', print_r( get_defined_vars(), 1 ), '</pre>';

Yine, bu birleşik benzer olduğunu

<?php

$foo = 'bar';

function test()
{
  $bar = 'baz';
  echo '<pre>', print_r( get_defined_vars(), 1 ), '</pre>';
}

test();