2011-01-20 5 views
3

ループの残りを省略したい場合は、break文を記述します。包含を中断する

インクルードファイルの残りの部分を省略しても(dieまたはexitを使用した場合のようにアプリケーションの残りの部分を終了しないように)書くことができますか?

+0

私は本当にあなたがしたいと思うか分からない。 (インクルードファイルには何が入っていますか?)私はそれが関数またはクラスであることを望んでいますが、この場合はそうではないと思います。 –

+0

@middaparkaそれは、彼らがいる環境によってデフォルトで含まれている特定の種類のファイル用です。これらのファイル内のすべてのコードを実行する必要はないので、私はこれを望んでいました。 –

+0

@Emanuil現在アクティブなページなどに応じて、関連する部分を* if *ブロックにラップする必要があるように聞こえます。 –

答えて

7

returnステートメントを使用すると、インクルードファイルを終了し、オプションで値を返すことができます。

例:

<?php 
// file2.php: 
if($_REQUEST['something'] == 'something else') 
    return 'Something else'; 

//do some stuff if _REQUEST['something'] != 'something else' 

return 'something'; 

明らかに役に立たない例が、しかし、それはinclude()エドファイルをEITするreturnの使用を示しています

<?php 
// file1.php: 

$value = include('file2.php'); 
echo $value; 

含まれています。

+2

ブリリアント!私はそれができないと確信していましたが、そのようなエレガントなソリューションがあることが判明しました。私はこの質問をしてうれしいです。 –

+1

+1。しかし、良いフォームと一般的な正気のためにあなたのPHPタグを閉じます。 –

+1

@Tomalak:PHPのみのファイルの場合、私は常に閉じるPHPタグを省略します。これは[Zend](http://framework.zend.com/manual/en/coding-standard.php-file-formatting.html)と[Drupal](http://drupal.org/coding-standards)です。 #phptags)標準です。 – Josh

1

あなたはインクルードを2つの別々のファイルに分割し、必要に応じて1つではなく2つを必要とするか、あるいは必要とするだけで、必要に応じて2つ必要とすることができます。

+0

'if'ステートメントを使ってインクルードファイルにコードを組み立てることもできます。これを処理する方法は多岐にわたります。 – Josh