PHPのクラス名と同じメソッドは何ですか

青灯夜游
リリース: 2023-03-10 11:38:01
オリジナル
3047 人が閲覧しました

PHP では、クラス名とメソッド名が同じであっても構いませんが、メソッド名とクラス名が同じで、「__construct」がない場合は、そのメソッドがコンストラクタとみなされます。 PHP コンストラクターはクラス内の特別な関数であり、new 演算子を使用してクラスのインスタンスを作成すると、コンストラクターが自動的に呼び出されます。

PHPのクラス名と同じメソッドは何ですか

#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

Constructor

__construct ( mixed ...$values = "" ) : void
ログイン後にコピー

PHP では、開発者がクラス内のコンストラクターとしてメソッドを定義できます。コンストラクターを持つクラスは、新しいオブジェクトが作成されるたびにこのメソッドを呼び出すため、オブジェクトを使用する前に初期化作業を行うのに非常に適しています。

注: コンストラクターがサブクラスで定義されている場合、その親クラスのコンストラクターは暗黙的に呼び出されません。親クラスのコンストラクターを実行するには、子クラスのコンストラクターでparent::__construct()を呼び出す必要があります。サブクラスでコンストラクターが定義されていない場合、通常のクラス メソッドと同様に親クラスから継承されます (プライベートとして定義されていない場合)。

例 #1 継承内のコンストラクター

ログイン後にコピー

他のメソッドとは異なり、__construct() が親クラス __construct() とは異なるパラメーターを持つメソッドによってオーバーライドされる場合、PHP は生成しません。 E_STRICT エラー メッセージ。

PHP 5.3.3 以降、ネームスペースでは、クラス名と同じ名前のメソッドはコンストラクターとして使用されなくなりました。名前空間にないクラスは影響を受けません。コンストラクターは、対応するオブジェクトがインスタンス化されるときに自動的に呼び出される通常のメソッドです。したがって、必須のパラメーター、タイプを持つパラメーター、またはデフォルト値を持つパラメーターをいくつでも定義できます。コンストラクターのパラメーターは、クラス名の後の括弧内に置かれます。

例 2 コンストラクター パラメーターの使用

x = $x; $this->y = $y; } } // 两个参数都传入 $p1 = new Point(4, 5); // 仅传入必填的参数。 $y 会默认取值 0。 $p2 = new Point(4); // 使用命名参数(PHP 8.0 起): $p3 = new Point(y: 5, x: 4); ?>
ログイン後にコピー

クラスにコンストラクターがなく、コンストラクターのパラメーターが必要ない場合は、括弧を省略できます。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPのクラス名と同じメソッドは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!