前回のレッスンPHP セーフ文字列の開発アイデアとコード共有では、PHP セーフ文字列の開発と使用について紹介しました。今日は、頻繁に使用される PHP 文字列の動的に生成されるオブジェクトについて引き続き紹介します。他の場所からクラスの名前を取得し、そのクラスのオブジェクトを生成することです。その場合、以前に使用されていた構文 ($obj = new $classname();) は間違いなく機能しません。今日は実装方法を紹介します~
まず、文字列クラス名に基づいてオブジェクトを動的に生成するために、このレッスンで使用する必要がある PHP クラス ライブラリをダウンロードします: http:/ /www.php.cn/xiazai/leiku/606
ダウンロードが完了したら、php クラス ライブラリ ファイルを見つけてローカル ディレクトリに抽出し、新しいファイルを作成します~
新しいphpファイル内でこのクラスを呼び出してインスタンス化します:
<?php include_once "stringtext.php"; //引入类库文件 $className = 'Test'; $obj = call_user_func(array($className, 'create')); var_dump($obj); ?>
このような構文を直接使用することは間違いなく機能しません:
$classname='Test'; $obj = new $classname();
オブジェクトのインスタンスを生成するターゲットクラスの静的メソッドを定義できます。次に、 call_user_func または call_user_func_array を通じてメソッドを呼び出します。もちろん、ファクトリ クラスなどのメソッドを通じて実装することもできます。
実行結果は次のようになります:
以上が文字列クラス名に基づいてオブジェクトを動的に生成するphpの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。