ホームページ >バックエンド開発 >PHPチュートリアル >クラス内の属性を定義する順序が影響を受けないのはなぜですか?

クラス内の属性を定義する順序が影響を受けないのはなぜですか?

WBOY
WBOYオリジナル
2016-08-04 09:21:551096ブラウズ

通常の関数での変数の定義が、クラスでのプロパティの定義と異なるのはなぜですか? a() 関数では、変数を前に定義する必要があります。a() 関数の $a =1 を return の後に置くと、クラスでエラーが報告されないのはなぜですか?手が大きい人には子供っぽいと思われるかもしれませんが、私にはこの質問がわかりません

リーリー

返信内容:

通常の関数での変数の定義が、クラスでのプロパティの定義と異なるのはなぜですか? a() 関数では、変数を前に定義する必要があります。a() 関数の $a =1 を return の後に置くと、クラスでエラーが報告されないのはなぜですか。手が大きい人には子供っぽいと思われるかもしれませんが、私にはこの質問がわかりません

リーリー

クラスは最初にコンパイルされてから実行されますが、プロセス指向の実行はストリーミングであるためです。
これは私がJSから学んだことです。

最も基本的な説明は、$a=new aa();この時点では、属性 $name には値が割り当てられていますが、関数 bb() はまだ実行されていません。
実際、オブジェクト管理は非常に複雑です。簡単に言うと、どのように記述しても、すべてのプロパティはインスタンス化されて構築されるときに前処理されます。

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