ホームページ > バックエンド開発 > PHPチュートリアル > this と self はどのような場合に使用する必要がありますか?

this と self はどのような場合に使用する必要がありますか?

WBOY
リリース: 2016-06-23 13:22:59
オリジナル
1248 人が閲覧しました

private static $case_l_step_end;
private $single_step;
上記のものは self で呼び出すことができ、次のものは this で呼び出すことができます。
書かれたクラスはオブジェクトをインスタンス化するためのものです。クラス内のメソッドのみが再帰的であり、private static $case_l_step_end; この属性は再帰に役立ちます。
問題は:
var_dump($this->single_step); これが数値の場合は値を取得できますが、他のものは値を取得できません。
var_dump(self::$case_l_step_end); これを使用して値を取得できます。

メンバー変数を作成するときに静的を追加するタイミングは?


ディスカッションに返信 (解決策)

と言うコードのみを投稿してください
それ以外の場合は、教科書を投稿します。満足していただけますか?

このカテゴリにはコードがたくさんあります。非公開で送ってもいいですか?

私たちがわかるようにコードを投稿してください
それ以外の場合は、教科書を投稿してもよろしいでしょうか?



私たちがわかるようにコードを投稿してください
それ以外の場合は、教科書を投稿してもよろしいでしょうか?

関連する部分を投稿するだけです
主に書き方次第です

これは静的プロパティを呼び出すことはできません
self::非静的プロパティを呼び出すことはできません

<?phpclass test{    public static $a = 1;    public $b = 2;    public function run(){        echo self::$a;        echo $this->b;        echo $this->a; // this调用静态属性 出错        echo self::$b; // self调用非静态属性 出错    }}$o = new test();$o->run();?>
ログイン後にコピー
ログイン後にコピー

これは静的プロパティを呼び出すことはできません
self:: 呼び出すことができません非静的プロパティ

<?phpclass test{    public static $a = 1;    public $b = 2;    public function run(){        echo self::$a;        echo $this->b;        echo $this->a; // this调用静态属性 出错        echo self::$b; // self调用非静态属性 出错    }}$o = new test();$o->run();?>
ログイン後にコピー
ログイン後にコピー



ありがとうございます。

該当する部分を投稿するだけです
それは主に書き方次第です



if を書くときに = の代わりに == を書いてしまったという問題は解決されました。ありがとう。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート