PHP ファイル呼び出しの場合、include、include_once、require、require_once の使用について心配する必要があることがあります。これは初心者だけでなく、高度なプロジェクトにも当てはまります。そして、どれを使用するのが最適であるかについてはまだコンセンサスがありません。各チームと各プロジェクトには独自のコーディング標準があり、それを使用する独自の理由があります。 4 つの機能の類似点と相違点については、ここでは詳しく説明しません。
私たちのチームは、require_once を使用することを推奨しています。今日は理由を述べてください。
複数のサブクラスが同じ親クラスを継承する場合、require を使用すると再宣言エラーが発生します
require はメソッドではなくステートメントブロックであるためです。したがって、参照されたファイルは 1 回実行されるため、同じ親クラスを継承する 2 つのクラスを 1 つのファイル内で参照すると、上記の問題が発生します。しかし、require_once はそうではありません。まず参照されているかどうかを判断し、参照されている場合はスキップします。
コードを見て、まず抽象親クラスを書きます:
[php]
AbstractClass.php
AbstractClass.php
さらに 2 つのサブクラスを実装します:
[php]
RequireClassA.php
//require_once の代わりに require を使用します
'AbstractClass.php' が必要です。
クラス RequireClassA は AbstractClass を拡張します{
}
//require_once の代わりに require を使用します
[php]
RequireClassB.php
//require_once の代わりに require を使用します
require 'AbstractClass.php';class RequireClassB extends AbstractClass{}
//require_once の代わりに require を使用します
実装呼び出し:
[php]
テスト.php
require_once 'RequireClassB.php';
require_once 'RequireClassA.php';
$A = 新しい RequireClassA();
$B = 新しい RequireClassB();
test.php
require_once 'RequireClassB.php';
$A = 新しい RequireClassA();
$B = 新しい RequireClassB();
【プレーン】
>php test.php>PHP 致命的エラー: /home/john/workspace/php/require/AbstractClass.php の 2 行目でクラス AbstractClass を再宣言できません
>php test.php
>PHP 致命的エラー: /home/john/workspace/php/require/AbstractClass.php の 2 行目でクラス AbstractClass を再宣言できません
http://www.bkjia.com/PHPjc/477515.html
www.bkjia.com