PHPのリフレクション関数
最も一般的に使用される PHP リフレクション関数 get_class get_class_methods
1. get_class ? オブジェクトのクラス名を返します
string get_class ([ object $obj ] )
オブジェクト インスタンス obj が属するクラスの名前を返します所属しています。 obj がオブジェクトでない場合は FALSE を返します。
注: PHP 拡張ライブラリで定義されたクラスは、元の定義の名前を返します。 PHP 4 では、get_class() はユーザー定義のクラス名の小文字形式を返しましたが、PHP 5 では、拡張ライブラリ内のクラス名と同様に、定義されたとおりのクラス名の名前を返します。
注: PHP 5 以降、オブジェクトのメソッド内で呼び出される場合、obj はオプションです。 exexample#1 get_class()を使用します。 ) , "/n";
}}
// オブジェクトを作成します
$bar = new foo();
// 外部呼び出し
echo "その名前は " , get_class($ bar) , " /n ";
//内部呼び出し
$bar->name();
?>
上記の例は次のように出力します:
Its name is foo My name is foo
2.get_class_methods ? 返回由类的方法名组成的数组
array get_class_methods (mixed $クラス名 )
class_name で指定されたクラスで定義されたメソッド名で構成される配列を返します。エラーが発生した場合は NULL が返されます。
Example#1 get_class_methods() 例
class myclass { // コンストラクター
function myclass()
{ return(true) }
//method; 1
関数 myfunc1 ()
{return(true) }
// メソッド 2
function myfunc2(){
return(true) }
}
$class_methods = get_class_methods('myclass'); / /または
$class_methods = get_class_methods(new myclass());
foreach ($class_methods as $method_name) {
echo "$method_name/n"
;出力:
myclass myfunc1 myfunc2
3.
get_class_vars クラスのデフォルトのプロパティで構成される配列を返します
説明
array get_class_vars ( string $class_name )
のデフォルトのパブリック プロパティで構成される連想配列を返しますクラス、この配列要素は varname => value の形式で存在します。
注: PHP 4.2.0 より前では、get_class_vars() には初期化されていないクラス変数は含まれません。
例#1 get_class_vars() の例
class myclass {
var $var1; // 此变量没有默认值……
var $var2 = "xyz";
var $var3 = 100;
private $var4; // PHP 5
// constructor
function myclass() {
// change some properties
$this->var1 = "foo";
$this->var2 = "bar";
return true;
}
}
$my_class = new myclass();
$class_vars = get_class_vars(get_class($my_class));
foreach ($class_vars as $name => $value) {
echo "$name : $value/n";
}
?>
上例将输出:
// 在 PHP 4.2.0 之前 var2 : xyz var3 : 100 // 从 PHP 4.2.0 开始 var1 : var2 : xyz var3 : 100

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









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

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

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

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
