函式名:Componere\Method::setProtected()
適用版本:Componere 2.0.0及以上
用法:該函式用於將指定的方法設定為受保護的。被設定為受保護的方法只能在當前類內部以及繼承類中訪問,無法從外部直接訪問。
引數:
$class
:要設定方法的類名或物件例項。$method
:要設定為受保護的方法名。
示例:
use Componere\Method;
class MyClass {
public function publicMethod() {
echo "This is a public method.";
}
private function privateMethod() {
echo "This is a private method.";
}
}
$instance = new MyClass();
// 設定privateMethod()方法為protected
Method::setProtected($instance, 'privateMethod');
// 現在可以在當前類或繼承類中訪問protected方法
$instance->privateMethod(); // 輸出: This is a private method.
// 但無法從外部直接訪問protected方法
$instance->publicMethod(); // 輸出: This is a public method.
$instance->privateMethod(); // 報錯: Fatal error: Uncaught Error: Call to private method MyClass::privateMethod() from context ''
注意事項:
- Componere 2.0.0及以上版本才支援該函式。
- 當前函式只能用於設定例項方法(非靜態方法)。
- 設定為受保護的方法只能在當前類內部以及繼承類中訪問,無法從外部直接訪問。