ホームページ > バックエンド開発 > PHPの問題 > PHPでクラスのプライベートメソッドを呼び出す方法

PHPでクラスのプライベートメソッドを呼び出す方法

王林
リリース: 2023-03-12 09:28:02
オリジナル
3065 人が閲覧しました

PHP でクラスのプライベート メソッドを呼び出す具体的な手順: 1. クラス名を介してリフレクトする; 2. リフレクション クラスを介してインスタンス化する; 3. メソッド名を介して指定されたメソッドを取得する; 4. 設定するアクセシビリティ; 5. 実行方法。

PHPでクラスのプライベートメソッドを呼び出す方法

#この記事の動作環境: Windows10 システム、php 7.1、thinkpad t480 コンピューター。

php でクラスのプライベート メソッドを呼び出すにはどうすればよいでしょうか? PHP には完全なリフレクション API があり、クラス、インターフェイス、関数、メソッド、拡張機能をリバース エンジニアリングする機能が追加されていることはわかっており、リフレクションを通じてクラス内のプライベート メソッドを呼び出して実行できるようになります。

次に、具体的なコードの実装を見てみましょう。

コード実装:


<?php
 
//MyClass这个类中包含了一个名为myFun的私有方法
class MyClass {
    
    private $tmp = &#39;hello&#39;;
    
    private function myFun()
    {
        echo $this->tmp . &#39; &#39; . &#39;world!&#39;;
    }
}
 
//通过类名MyClass进行反射
$ref_class = new ReflectionClass(&#39;MyClass&#39;);
 
//通过反射类进行实例化
$instance  = $ref_class->newInstance();
 
//通过方法名myFun获取指定方法
$method = $ref_class->getmethod(&#39;myFun&#39;);
 
//设置可访问性
$method->setAccessible(true);
 
//执行方法
$method->invoke($instance);
?>
ログイン後にコピー

上記はすべての実装コードです。友人は上記のコードをローカルで実行できます。

PHP コースに非常に興味がある場合、またはプログラミング スキルを向上させたい場合は、php 中国語 Web サイトの第 17 回

php トレーニング クラスにぜひご参加ください。

以上がPHPでクラスのプライベートメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート