ホームページ > バックエンド開発 > PHPチュートリアル > PHP における static と self の違い

PHP における static と self の違い

青灯夜游
リリース: 2023-04-08 14:02:01
転載
2633 人が閲覧しました

PHP における static と self の違い

現在のメソッドが定義されているクラスに応じて、self:: または __CLASS__ を使用して、現在のクラスへの静的参照を作成します。

Using static::現在のメソッドが定義されているクラスについては、実際の実行時に計算されます。静的メソッドの呼び出し (ただし、それに限定されない) に使用できるため、「静的バインディング」とも呼ばれます。

静的バインディングは、継承スコープ内で静的に呼び出されるクラスを参照するために PHP 5.3.0 で追加された関数です。

簡単に言うと、#self はどのクラスを参照するかということです。

static は使用されるクラスを表します。これは親クラスに記述した static であり、次の関数によってオーバーライドされます。使用されるのはサブクラスのメソッドまたは属性です

<?php
class Person
{
    public static function name()
    {
        echo "111";
        echo "<br />";
    }
    public static function callself()
    {
        self::name();
    }

    public static function callstatic()
    {
        static::name();
    }
}

class Man extends Person
{
    public static function name()
    {
        echo "222";
        echo "<br />";
    }
}

Man::callself();  // output: 111
Man::callstatic();  // output: 222
?>
ログイン後にコピー
推奨: PHP ビデオ チュートリアル

以上がPHP における static と self の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート