この場合、私は以下を使用します:
<?php
include_once 'connect.php'; # connect with MySQL database
# some PHP code
?>
<!-- some HTML code -->
<?php
# here PHP code wants to use MySQL connection opened before
?>
2番目のPHPタグにinclude_onceを含める必要がありますか?
include_onceステートメントは、スクリプトの実行中に指定されたファイルをインクルードして評価します。これはincludeステートメントと同様の動作ですが、唯一の違いは、ファイルのコードがすでにインクルードされている場合、再びインクルードされないことです。名前が示すように、それは一度だけ含まれます。
したがって、connect.phpが一度含まれると、再び含まれることはありません。
例えば
<?php
include(a.php) //it will include a.php
include(b.php) //it will include b.php
include(a.php) //it will include a.php again
?>
<?php
include_once(a.php) //it will include a.php
include_once(b.php) //it will include b.php
include_once(a.php) //does nothing
?>
同じリクエスト/ページ内にある場合は、ファイルを再度含める必要はありません。
また、を使用include_once
すると、すでに含まれているファイルを含めることができなくなります。
以前に含まれていた変数と接続を自由に使用できますconnect.php
PHPタグを閉じるとき、セッションを閉じないでください。含まれているコードは、開くか閉じるかを選択したすべてのphpタグで引き続き使用できます。
例
- index.php
- includes once connect.php
- includes once foo.php
- includes bar.php
- foo.php
- Contains scope from connect.php
- bar.php
- Contains scope from connect.php
- Contains scope from foo.php
includeとinclude_onceの唯一の違いは、同じファイルを複数回インクルードする場合でも、インクルードされるのは1回だけであるということです。
含める例
<?php
include ( 'connect.php' ); // Includes an evaluates code.
include ( 'connect.php' ); // Includes an evaluates code.
include ( 'connect.php' ); // Includes an evaluates code.
?>
Include_onceの例
<?php
include_once ( 'connect.php' ); // Includes an evaluates code.
include_once ( 'connect.php' ); // Does nothing.
include_once ( 'connect.php' ); // Does nothing.
?>
これは、アプリケーションがライブラリを含むモジュールを使用する場合に役立ちます。同じライブラリが何度も含まれないようにするには、必要なのが1回だけの場合は、include_onceを使用します。