一緒に使用されるphpのグローバル変数とクラスの完全な分析_PHPチュートリアル
ケース 1:
father.php は次のように定義されます:
$ジャック = 1000;
?>
children.php は次のように定義されています:
require("father.php");
$ジャック=123;
echo $jack."/n";
?>
phpchildren.php
走行出力は123です
$jack=123 をコメントアウトすると、実行結果は 1000 になります。 $jack=123 を require("father.php"); の前に置くと、実行結果は 1000 になります。
理解しやすい: PHP は説明して実行します。説明された場所であればどこでも実行されます。 。 $jack と同様に、これはグローバル変数です。たとえば、最初の場合、最初に使用するときは 1000 であり、これは必須です
。を実行すると、結果が123に変更されたため、実行結果の出力は123になります。
ケース 2:
children.php コードは次のように変更されます:
require("father.php");
関数testJack(){
if(!isset($jack)){
echo '$jack は null'."/n";
}
}//テストジャック
テストジャック();
?>
phpchildren.php
実行結果は次のようになります: $jack は null です。つまり、testJack() で参照される $jack はローカル変数です。
global キーワードを使用し、$jack をグローバル変数として宣言すると、コードは次のように変更されます:
require("father.php");
関数testJack(){
グローバル $jack;
if(!isset($jack)){
echo '$jack は null'."/n";
}その他{
echo '$jack は null ではありません'."/n";
}
}//テストジャック
テストジャック();
?>
演算結果は$jack is not null!
ケース 3:
children.php コードは次のとおりです:
require("father.php");
クラスジャックテスト{
パブリック関数testJack(){
if(!isset($jack)){
echo '$jack は null'."/n";
}その他{
echo '$jack は null ではありません'."/n";
}
}//テストジャック
}
$jackTest = 新しい JackTest();
$jackTest->testJack();
?>
実行結果の出力: $jack は null です
これは、クラス内のこの関数の $jack がローカル変数であるためです。
関数testJackの先頭にglobal $jack;を追加すると、$jack is not nullが出力されます。
分かりやすくなりました。
ケース 4:
ファイル名をパラメータとして使用する動的ロード、コードは次のとおりです:
$casefile = $_SERVER['argv'][1];
echo $casefile."/n";
require($casefile);
echo $jack."/n";
?>
php Children.php Father.php を実行します
結果は以下の通りです:
父.php
1000
つまり、ダイナミックローダーは正常に実行されました。 。
ケース 5:
動的読み込みとクラス定義を組み合わせる:
ディレクトリの関係は次のとおりです:
|- c.php
|- Bfold - b.php
|- Afold - a.class.php (内部の関数は ../Bfold/b.php を参照します)
つまり、クラス a.class は c.php の新しいもので、a.class.php の関数は Bfold フォルダーの下に b.php を必要とします。この require (../Bfold/b.php) はエラーを報告します。 、警告: ……
現在サーバーが c.php ファイルを実行しているため、php がそれを解析するとき、パスは c.php に対する相対パスになります。(../Bfold/b.php) を (Bfold/b .php) に変更してみてください。エラーはありません。
以下は、関数内での require_once (A.php) の使用を示すプログラム例です。
require_once の理解:
require_once(A.php); というステートメントが B.php で参照されているとします。 。
これは実際には、匿名ラムダ関数 A.php を呼び出して実行するのと同じです。以下に示すように:
C.php は関数呼び出しで B.php を必要とします------》
B.php は通常のステートメントで A.php を必要とします--------》
A.php
ここで php B.php を呼び出します。B.php は通常のステートメントで require を使用して A.php を呼び出し、A.php は A に関連するグローバル変数であるその変数を B.php 環境に登録します。 B.php はルート呼び出しファイルであるため、その実行環境はグローバル環境です。したがって、A.php ファイル内の変数は B.php で通常どおり使用できます。
ここで、php C.php を呼び出します。次に、C が関数内で require を使用して B.php を呼び出し、次に B が A を呼び出します。この呼び出しプロセス中、B と A のルート動作環境が C の呼び出し関数であるように感じられます。しかし、C の呼び出し関数が B と A の変数を使用したい場合は、方法がありません。 。
グローバル $a を使用して参照する場合、この場合 $a はグローバル変数に属さないため、参照できません。
$a を使用して参照すると、$a はローカル変数として扱われ、参照できなくなります。 。 。

ホット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 にアップグレードする方法について説明します。

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

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

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
