Dosya dahil Dönüş

5 Cevap

PHP, nasıl bir geri gelen dahil olmuştu script dahil bir komut dönecekti?

IE:

1 - main script 2 - application 3 - included

Temelde, return () çalışmıyor, 3-2 geri almak istiyorum.

2 kod - uygulama

$page = "User Manager";
if($permission["13"] !=='1'){
    include("/home/radonsys/public_html/global/error/permerror.php");
    return();
}

5 Cevap

includeme.php:

$x = 5;
return $x;

main.php:

$myX = (include 'includeme.php');

Bu PHP bu az bilinen özelliklerinden biri, ama gerçekten basit yapılandırma dosyaları kurmak için tür güzel olabilir.

the documentation belirtildiği gibi return, çalışması gerekir.

Geçerli komut dosyası () ed veya gerektiren () ed, dahil ise o kontrol geri çağıran dosyaya geçirilir. Ayrıca, mevcut komut dosyası ise () ed, daha sonra dönmek için verilen değer () dahil değeri olarak iade edilecektir () çağrısı dahil.

Hm, PHP manual Seninle aynı fikirde. return dahil bir dosyanın dışarı kurtarmak gerekir. Bu tabii ki, bir fonksiyonun içinde çalışmaz.

Ben bu zaten cevap olduğunu biliyorum, ama ben güzel bir çözüm olduğunu düşünüyorum ...

main.php

function test()
{
    $data = 'test';
    ob_start();
        include( dirname ( __FILE__ ) . '/included.php' );
    return ob_get_clean();
}

included.php

<h1>Test Content</h1>
<p>This is the data: <?php echo $data; ?></p>

Ben sadece $data Hala dahil dosyasına veri aktarmak, hem de dahil dosya dönmek olduğunu göstermek için eklenmiştir.

include için belgelerinde Example #5 bakın.

O da dahil olmak üzere zaman gibi, senaryonun dönüş değerini alabilirsiniz:

$foo = include 'script.php';