ホームページ >バックエンド開発 >PHPチュートリアル >PHPの複数のコンストラクターの問題の解決策

PHPの複数のコンストラクターの問題の解決策

黄舟
黄舟オリジナル
2017-07-02 09:43:292783ブラウズ

コンストラクターを実装するには、 2 つの 変数 を使用し、もう 1 つのコンストラクターは 配列 を使用します。 例:

public function construct($id, $dname)
public function construct($device=array())

ネット上でしか見られない、func_num_argsでパラメータの数を判断して実装する方法はないでしょうか?


同じ名前の 2 つのメソッド関数を 1 つのファイルに同時に持つことはできません

2. それらが異なるファイルにある場合は、
namespace を使用して同じ関数を呼び出すことができます (php バージョンは 5.3.3 である必要があります)。 0以上) だから、あなたの判断には本当の意味はありません

phpはオーバーロードできないので、パラメータを配列に変更して関数内で違いを作ります

ソースコードでどのように共存するか見てみたいです、継承?

gettype -- 変数の型を取得します


construct は PHP クラスのコンストラクターではありません
construct です!

PHP はオーバーロードをサポートしていませんが、作者はそれがクラス内の同じ名前のメソッドであるとは言いませんでした。

コンストラクター関数の構造でパラメーターの型を決定し、異なる分岐を取るだけです。ネイティブにオーバーロードをサポートしていない場合は、それをシミュレートしてください~

phpはCのような関数のオーバーロードをサポートしていません。あなたが言ったように、func_num_arg関数を使用して、パラメーターを判断して初期化を分岐します

構成要素のパラメータ Number と type を判断します。

りー

以上がPHPの複数のコンストラクターの問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。