1. PHP にはグローバル静的変数はありません。
以前に .Net 開発を行っていたとき、次の方法を使用してデータをキャッシュできました。
view plaincopy to Clipboardprint?
パブリック クラス テスト {
private static int Count = 0; //この変数はアプリケーション全体で有効です。
}
パブリック クラス Test{
private static int Count = 0; //この変数はアプリケーション全体で有効です。
PHP はインタープリター言語ですが、静的修飾子はありますが、その意味は .Net とはまったく異なります
。
クラス内の変数が静的として宣言されている場合でも、この変数は現在のページレベルのアプリケーション ドメインでのみ有効です。
2. 変数のスコープを理解する。
メソッドの外で宣言された変数には、メソッド本体内ではアクセスできません。
例:
plaincopy をクリップボードプリントに表示しますか?
<?php
$url = " www.webjx.com ";
関数 _DisplayUrl() {
$url をエコーします。
}
関数 DisplayUrl() {
グローバル $url;
$url をエコーします。
}
_DisplayUrl();
DisplayUrl();
?>
<?php
$url = " www.webjx.com ";
関数 _DisplayUrl() {
$url をエコーします。
}
関数 DisplayUrl(){
グローバル $url;
$url をエコーします。
}
_DisplayUrl();
DisplayUrl();
?>
_DisplayUrl メソッドは、変数 $url がメソッド本体 _DisplayUrl でアクセスできないため、結果を表示しません。DisplayUrl メソッドなど、$url の前に global を追加するだけです。
メソッド本体で定義されたグローバル変数は、メソッドの外部からアクセスできます
。
<?php
関数 _DisplayUrl() {
グローバル $myName;
$myName='yibin';
}
_DisplayUrl();
echo $myName //yibin を出力します。
?>