ホームページ > バックエンド開発 > PHPの問題 > php5.3にはstaticがないのでしょうか?

php5.3にはstaticがないのでしょうか?

PHPz
リリース: 2023-04-21 10:37:03
オリジナル
474 人が閲覧しました

PHP のバージョンは常に更新されるため、以前の機能の一部は徐々に削除され、新しい代替機能に置き換えられます。その中でも、PHP 5.3 バージョンは 2009 年にリリースされたもので非常に古いものですが、プログラミングの世界は非常に急速に発展し、変化しています。では、PHP 5.3 バージョンには static キーワードがありますか?これがこの記事で説明するトピックです。

ご存知のとおり、static は静的変数と静的メソッドを定義するために使用されるキーワードです。静的変数が定義されると、その変数はクラスのインスタンスに関連付けられず、クラス自体に属します。静的メソッドが定義されている場合、そのメソッドはクラスのインスタンスからも独立しており、クラス名を通じて直接呼び出されます。

PHP 5.3 バージョンの場合、static キーワードはありません。このバージョンでは、静的メンバー変数と静的メソッドを宣言するには、他のコード実装が必要です。

まず、静的メンバー変数を宣言します。クラス内で public キーワードと $ シンボルを使用して静的変数を定義し、これをクラスの外で初期化できます。変数:

class MyClass {
    public static $mystatic;

    function __construct() {
        // do nothing
    }
}

MyClass::$mystatic = 'Hello, world!';
echo MyClass::$mystatic; // 将输出 'Hello, world!'
ログイン後にコピー

上記のコードでは、public キーワードと static キーワードの組み合わせを使用して、静的変数 $mystatic## を定義します。 #。次に、この変数をコンストラクターの外で初期化します。出力するときは、このクラスの静的変数 $mystatic を呼び出します。

静的メソッドの実装は実際には非常に簡単です。クラス内で

public キーワードと function キーワードの組み合わせを使用し、メソッド名の前に static キーワードを追加して静的メソッドを定義できます。 :

class MyClass {
    public static function sayHello() {
        echo 'Hello World!';
    }
}

MyClass::sayHello(); // 调用静态方法
ログイン後にコピー
静的メソッドと静的変数は、クラス インスタンスではなく、クラス自体に関連していることに注意してください。したがって、静的メソッドまたは静的変数を呼び出すときは、クラス名を直接使用し、メソッド名の前に

:: 演算子を追加する必要があります。

PHP 5.3 より前では、static キーワードがなくても、他のメソッドを使用して同様の機能を実現できました。実際、この方法は多くの静的ブログやさまざまなドキュメントで言及されているため、PHP に習熟した開発者にとっては馴染みのないものではありません。初心者の場合は、上記のコード例を試して PHP についての理解を深めることもできます。

一般に、PHP 5.3 には static キーワードがありませんが、他のコードを使用して同様の機能を実現できます。長い歴史を持つ古いプロジェクトを開発する場合、プロジェクトをより適切に維持およびアップグレードするために、いくつかの古い文法規則を理解する必要もあります。

以上がphp5.3にはstaticがないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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