2016-04-22 5 views
-3

を含める必要がありますか?どうして?PHP:他のファイルの関数を使用する前に

ファイル:run.php

<?php 
    test(); 
    include('function.php'); 
?> 

ファイル:function.php

<?php 
    function test(){echo 'working';} 
?> 

これ以降はうまく

<?php 
    test(); 
    function test(){echo 'working';} 
?> 
+1

いいえ、インクルードはPHPが特定のコード行に達したときにのみ実行されるため、2つのファイルの最初の例は機能しません。したがって、PHPがその定義を見る前にtest()を呼び出そうとしています –

+1

2番目のケースでは、PHPはファイル全体を解析していますので、そのファイルを実行する前にtest()関数について知っています –

+0

私はそれを知っていますが、コードを実行する前にincludeとrequireが実行されていると常に考えていました。 。間違っているようだ! – Falanso

答えて

0

興味深い質問を働くだろう。

呼び出した後に定義された関数を呼び出すことができます。これは、PHPがまずファイルを解析してから実行するためです。それがあなたの3番目のスニペットが機能する理由です。

関連する問題