php の静的クラスと静的変数の違いの分析、php 変数_PHP チュートリアル
PHPにおける静的クラスと静的変数の使用法の違い、PHP変数の分析
この記事では、PHP での静的クラスと静的変数の使用法の違いを例とともに分析します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
静的とは、静的オブジェクトまたは静的変数を定義することです。この記事の関連する例を読んだ後、静的で定義された変数またはクラスメソッドの特性を理解します。
1. オブジェクト $object = new Class() を作成し、変数/メソッドがアクセス可能な場合は、「->」を使用して $object->attribute/function を呼び出します。2. 静的か非静的かに関係なく、クラスのメソッド/変数: class::attribute/function を直接呼び出します。ただし、前提条件があります。
A. 変数の場合は、その変数にアクセスできる必要があります。
B. メソッドの場合、メソッドがアクセス可能であることに加えて、要件も満たす必要があります。
①静的メソッドであれば特別な条件はありません
② 非静的メソッドの場合は、$this を使用しない、つまり非静的変数/メソッドを呼び出さないようにメソッドを変更する必要があります。 もちろん、静的変数/メソッドを呼び出しても問題ありません。メソッド
それでは、 $object->… の使用と class::…:
の使用の違いを見てみましょう1. $object->…を使用する場合、コンストラクターを実行してオブジェクトを作成する必要があります。
2. オブジェクトを作成するコンストラクターを実行せずに、class::... を使用して静的メソッド/変数を呼び出します。3. class::... を使用して非静的メソッド/変数を呼び出します。オブジェクトを作成するためにコンストラクターを実行する必要はありません。
すると、2と3は同じなので、静的メソッド/変数の存在意義は何でしょうか?静的: クラス メンバーまたはメソッドを静的として宣言すると、クラスをインスタンス化せずに直接アクセスできます。静的メンバーは、クラスに属し、どのオブジェクト インスタンスにも属しません。クラスのオブジェクト インスタンスは共有できます。
例、コードは次のとおりです:
コードをコピーします
コードは次のとおりです:
// 静的メンバーのプロパティへの内部アクセス
echo "私は".self::$country."人
"; }
}
クラス学生は Person {
を拡張します 関数の勉強() {
echo "私は". "人
"; }
}
// メンバーの属性値を出力します
echo Person::$country."
" // 出力: 中国
$p1 = 新しい人 (); //echo $p1->country; // 書き方が間違っています
//静的メンバーメソッドにアクセスする
Person::my Country(); // 出力: 私は中国人です
// 静的メソッドにはオブジェクトを通じてアクセスすることもできます:
$p1->my Country();
// サブクラスのメンバー属性値を出力します
echo Student::$country."
" // 出力: 中国
$t1 = 新しい学生
; $t1->study(); // 出力: 私は中国人です
?>
この例を実行すると、次のように出力されます:
中国
私は中国人です
私は中国人です
中国
私は中国人です
概要: クラス内の静的メンバー属性またはメソッドにアクセスするには、self:: ($slef ではないことに注意) を使用します。コードは次のとおりです。
コードをコピーします
コードは次のとおりです:
slef:: $country
slef::my Country()
parent:: $country
person::$country
学生::$country
; static $int = 1+2; // (式なので) 間違っています
static $int = sqrt(121); // (式でもあるので) 間違っています
コードをコピーします
コードは次のとおりです:
{
静的 $w3sky = 0; エコー $w3sky
$w3sky++
}
?>
静的変数は再帰関数を処理する方法も提供します。再帰関数はそれ自体を呼び出す関数です。再帰関数は無限に再帰する可能性があるため、再帰を終了するための十分なメソッドがあることを確認する必要があります。この単純な関数は、静的変数 $count を使用して再帰的に 10 までカウントし、いつ停止するかを決定します。
静的変数と再帰関数の例、コードは次のとおりです:
静的 $count = 0;
$カウント++
エコー $count
if ($count テスト(); }
$カウント--; }
?>
注: 静的変数は、上記の例に従って宣言できます。式の結果を使用して宣言内で値を代入すると、解析エラーが発生します。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/943418.htmlwww.bkjia.com
true

ホット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 のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

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

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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

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