PHPにおける静的クラスと静的変数の使用例の比較分析
この記事では主に、php での静的クラスと静的変数の使用法の違いを紹介します。php での静的クラスと静的変数の定義、機能、および使用スキルを例とともに詳しく分析します。必要な方はこの記事を参照してください。
この例では、PHP での静的クラスと静的変数の使用法の違いを分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
static は、静的オブジェクトまたは静的変数を定義します。 static で定義された変数またはクラス メソッドの特性については、この記事の
1 を参照してください。 object$ object = new Class() を使用して、$object->attribute/function を呼び出します (変数/メソッドがアクセス可能である場合)
2 クラスのメソッド/変数を直接呼び出します。 : class::attribute/ 関数。静的か非静的かに関係なく、前提条件があります。A. 変数の場合は、変数にアクセスできる必要があります。B.メソッドがアクセス可能であることに加えて、満たす必要もあります。① 静的メソッドの場合、特別な条件はありません ② 非静的メソッドの場合、$ を使用せずにメソッドを変更する必要があります。これは、つまり、静的でない変数/メソッドは呼び出されません。もちろん、静的変数/メソッドを呼び出すことに問題はありません。
次に、$object->… の使用とクラスの使用の違いを見てみましょう。 ::…:1. $object->… を使用するには、
コンストラクターを実行してオブジェクトを作成する必要があります。
2. class::... を使用して、コンストラクターを実行せずに静的メソッド/変数を呼び出します。オブジェクトを作成します。3. オブジェクトを作成するコンストラクターを実行せずに、class::... を使用して非静的メソッド/変数を呼び出します。次に、2 と 3 は同じであるため、奇妙なことに Out です。静的メソッド/変数の存在のポイント? 静的: クラスのメンバーまたはメソッドを静的として宣言すると、クラスをインスタンス化せずに直接アクセスできます (静的メソッドを除く) 静的メンバーはクラスに属しており、クラスには属しません。ただし、クラスのオブジェクト インスタンスはすべて共有できます。例のコードは次のとおりです:<?php Class Person{ // 定义静态成员属性 public static $country = "中国"; // 定义静态 成员方法 public static function myCountry() { // 内部访问静态成员属性 echo "我是".self::$country."人<br />"; } } class Student extends Person { function study() { echo "我是". parent::$country."人<br />"; } } // 输出成员属性值 echo Person::$country."<br />"; // 输出:中国 $p1 = new Person(); //echo $p1->country; // 错误写法 // 访问静态成员方法 Person::myCountry(); // 输出:我是中国人 // 静态方法也可通过对象访问: $p1->myCountry(); // 子类中输出成员属性值 echo Student::$country."<br />"; // 输出:中国 $t1 = new Student(); $t1->study(); // 输出:我是中国人 ?>
この例を実行すると、出力は次のようになります:
中国
私は中国人です
私は中国人です
中国
私は中国人です
slef:: $country slef:: myCountry()
parent:: $country parent:: myCountry()
プロパティとメソッド はクラス名/サブクラス名::、コードは次のとおりです:
Person::$country Person::myCountry() Student::$country
例、静的変数の宣言、コードは次のとおりです:
<?PHP function foo(){ static $int = 0;// correct static $int = 1+2; // wrong (as it is an expression) static $int = sqrt(121); // wrong (as it is an expression too) $int++; echo $int; } ?>
<?PHP function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
() 関数が呼び出されると、$w3sky の値が出力され、1 ずつインクリメントされます。
<?PHP function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?>
式
の結果が宣言で使用されている場合、その代入により解析エラーが発生します。 .以上がPHPにおける静的クラスと静的変数の使用例の比較分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
