php - 如何检测类属性是私有(private)的还是 protected

标签 php oop

如何使用外部库(仅限纯 PHP)检测类属性是私有(private)的还是 protected ?如何检查是否可以从类外部设置属性?

最佳答案

使用Reflection.

<?php
    class Test {
        private $foo;
        public $bar;
    }

    $reflector = new ReflectionClass(get_class(new Test()));

    $prop = $reflector->getProperty('foo');
    var_dump($prop->isPrivate());

    $prop = $reflector->getProperty('bar');
    var_dump($prop->isPrivate());
?>

关于php - 如何检测类属性是私有(private)的还是 protected ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8447000/

相关文章:

php - 评级系统和 CSS Sprite

php - 在 php 中打印 $name 值

c++ - 在无限循环 C++ 中定义一次变量

java - 我应该在域包中放入哪些类?

C++ 不必要的破坏

php - 在 PHP 中取消设置变量有多重要?

php - 使用图像按钮的 onClick 事件调用 jQuery 函数

c++ - 实现从一个类到另一个类的类型转换

oop - 为什么 Rust 不支持 trait 对象向上转换?

php - 从 Xampp "Notice : Undefined index"HTML 收到错误消息