クラス継承におけるphp requireの落とし穴_PHPチュートリアル
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 を使用します
'AbstractClass.php' が必要です;
クラス RequireClassA は AbstractClass を拡張します{
}
[php]
RequireClassB.php
//require_once の代わりに require を使用します
require 'AbstractClass.php';class RequireClassB extends AbstractClass{}
//require_once の代わりに require を使用します
require 'AbstractClass.php';class RequireClassB extends AbstractClass{}
実装呼び出し:
[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
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
