ホームページ >バックエンド開発 >PHPチュートリアル >クラス内の属性を定義する順序が影響を受けないのはなぜですか?
通常の関数での変数の定義が、クラスでのプロパティの定義と異なるのはなぜですか? a() 関数では、変数を前に定義する必要があります。a() 関数の $a =1 を return の後に置くと、クラスでエラーが報告されないのはなぜですか?手が大きい人には子供っぽいと思われるかもしれませんが、私にはこの質問がわかりません
リーリー通常の関数での変数の定義が、クラスでのプロパティの定義と異なるのはなぜですか? a() 関数では、変数を前に定義する必要があります。a() 関数の $a =1 を return の後に置くと、クラスでエラーが報告されないのはなぜですか。手が大きい人には子供っぽいと思われるかもしれませんが、私にはこの質問がわかりません
リーリー
クラスは最初にコンパイルされてから実行されますが、プロセス指向の実行はストリーミングであるためです。
これは私がJSから学んだことです。
最も基本的な説明は、$a=new aa();
この時点では、属性 $name には値が割り当てられていますが、関数 bb() はまだ実行されていません。
実際、オブジェクト管理は非常に複雑です。簡単に言うと、どのように記述しても、すべてのプロパティはインスタンス化されて構築されるときに前処理されます。