当前位置: 首页>>代码示例>>PHP>>正文


PHP ReflectionProperty::isPrivate方法代码示例

本文整理汇总了PHP中ReflectionProperty::isPrivate方法的典型用法代码示例。如果您正苦于以下问题:PHP ReflectionProperty::isPrivate方法的具体用法?PHP ReflectionProperty::isPrivate怎么用?PHP ReflectionProperty::isPrivate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ReflectionProperty的用法示例。


在下文中一共展示了ReflectionProperty::isPrivate方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * 
  * @param \AgNetSolutions\Common\Metadata\PropertyAnnotation $annotation
  * @param \ReflectionProperty $reflection
  */
 public function __construct(PropertyAnnotation $annotation, \ReflectionProperty $reflection)
 {
     $this->reflection = $reflection;
     $this->annotation = $annotation;
     if ($this->reflection->isPrivate() || $this->reflection->isProtected()) {
         $this->reflection->setAccessible(true);
     }
 }
开发者ID:agnetsolutions,项目名称:common,代码行数:13,代码来源:DefaultPropertyMetadata.php

示例2: ReflectionProperty

 function __get($index)
 {
     //Funcionalidade original, para trabalhar com funções set/get
     if (method_exists($this, $method = 'get_' . $index)) {
         return $this->{$method}();
     } else {
         //Nova funcionálidade - Verifica se a propriedade existe
         //Se não existir, verifica se está dentro do globals
         //Se não tiver, retorna os erros padrões do PHP
         $stack = debug_backtrace();
         try {
             //Verifica se é uma propriedade private
             $rp = new ReflectionProperty(get_class($this), $index);
             if ($rp->isPrivate()) {
                 trigger_error('Uncaught Error: Cannot access private property ' . get_class($this) . '::' . $index . ' called from ' . $stack[0]['file'] . ' on line ' . $stack[0]['line'], E_USER_ERROR);
                 //Se não for private, retorna a propriedade
             } else {
                 return $this->{$index};
             }
             //Só chega aqui se a propriedade não existir
         } catch (Exception $e) {
             //Se ela existe dentro do globals (E o globals existe), retorna
             if (isset($this->globals) && isset($this->globals->{$index})) {
                 return $this->globals->{$index};
                 //Caso não exista a propriedade, dispara o erro padrão do PHP
             } else {
                 trigger_error('Undefined property ' . get_class($this) . '::' . $index . ' called from ' . $stack[0]['file'] . ' on line ' . $stack[0]['line']);
             }
         }
     }
     return null;
 }
开发者ID:soares289,项目名称:gojira,代码行数:32,代码来源:gojiracore.class.php

示例3: reflectProperty

function reflectProperty($class, $property)
{
    $propInfo = new ReflectionProperty($class, $property);
    echo "**********************************\n";
    echo "Reflecting on property {$class}::{$property}\n\n";
    echo "__toString():\n";
    var_dump($propInfo->__toString());
    echo "export():\n";
    var_dump(ReflectionProperty::export($class, $property, true));
    echo "export():\n";
    var_dump(ReflectionProperty::export($class, $property, false));
    echo "getName():\n";
    var_dump($propInfo->getName());
    echo "isPublic():\n";
    var_dump($propInfo->isPublic());
    echo "isPrivate():\n";
    var_dump($propInfo->isPrivate());
    echo "isProtected():\n";
    var_dump($propInfo->isProtected());
    echo "isStatic():\n";
    var_dump($propInfo->isStatic());
    $instance = new $class();
    if ($propInfo->isPublic()) {
        echo "getValue():\n";
        var_dump($propInfo->getValue($instance));
        $propInfo->setValue($instance, "NewValue");
        echo "getValue() after a setValue():\n";
        var_dump($propInfo->getValue($instance));
    }
    echo "\n**********************************\n";
}
开发者ID:badlamer,项目名称:hhvm,代码行数:31,代码来源:ReflectionProperty_basic1.php

示例4: test_before

 public function test_before()
 {
     $this->time->before();
     $begin = new ReflectionProperty($this->time, 'begin');
     $begin->setAccessible(true);
     $this->assertTrue($begin->isPrivate());
     $this->assertInternalType('float', $begin->getValue($this->time));
 }
开发者ID:ackintosh,项目名称:benchy,代码行数:8,代码来源:TimeTest.php

示例5: isPrivate

 /**
  * Returns true if this property has private as access level.
  *
  * @return bool
  */
 public function isPrivate()
 {
     if ($this->reflectionSource instanceof ReflectionProperty) {
         return $this->reflectionSource->isPrivate();
     } else {
         return parent::isPrivate();
     }
 }
开发者ID:naderman,项目名称:ezc-reflection,代码行数:13,代码来源:property.php

示例6: repoter_has_observers

 /**
  * @test
  */
 public function repoter_has_observers()
 {
     $property_observers = new ReflectionProperty($this->reporter, 'observers');
     $property_observers->setAccessible(true);
     $this->assertTrue($property_observers->isPrivate());
     $observers = $property_observers->getValue($this->reporter);
     $this->assertEquals(1, count($observers));
     $this->assertArrayHasKey('time', $observers);
 }
开发者ID:ackintosh,项目名称:benchy,代码行数:12,代码来源:ReporterTest.php

示例7: from

 /**
  * @return self
  */
 public static function from(\ReflectionProperty $from)
 {
     $prop = new static($from->getName());
     $defaults = $from->getDeclaringClass()->getDefaultProperties();
     $prop->value = isset($defaults[$prop->name]) ? $defaults[$prop->name] : NULL;
     $prop->static = $from->isStatic();
     $prop->visibility = $from->isPrivate() ? 'private' : ($from->isProtected() ? 'protected' : 'public');
     $prop->comment = $from->getDocComment() ? preg_replace('#^\\s*\\* ?#m', '', trim($from->getDocComment(), "/* \r\n\t")) : NULL;
     return $prop;
 }
开发者ID:pavel81,项目名称:php-generator,代码行数:13,代码来源:Property.php

示例8: __isset

 public function __isset($property)
 {
     if (!property_exists($this, $property)) {
         throw new UnknownPropertyException($property, __CLASS__);
     }
     $reflect = new \ReflectionProperty($this, $property);
     if (!$reflect->isPrivate() && $this->property) {
         return true;
     }
 }
开发者ID:shaggy8871,项目名称:frame,代码行数:10,代码来源:Foundation.php

示例9: testPublicize_with_private_static_property

 public function testPublicize_with_private_static_property()
 {
     $className = __FUNCTION__ . md5(uniqid());
     eval(sprintf('class %s { private static $foo = "foo_value"; }', $className));
     $reflectionProperty = new ReflectionProperty($className, 'foo');
     $this->assertTrue($reflectionProperty->isStatic());
     $this->assertTrue($reflectionProperty->isPrivate());
     $this->assertSame($reflectionProperty, $reflectionProperty->publicize());
     $this->assertSame('foo_value', $reflectionProperty->getValue($className));
 }
开发者ID:suin,项目名称:php-expose,代码行数:10,代码来源:ReflectionPropertyTest.php

示例10: processAnnotation

 /**
  * @param \Apha\Annotations\Annotation\AggregateIdentifier $annotation,
  * @param \ReflectionProperty $reflectionProperty
  * @return \Apha\Annotations\Annotation\AggregateIdentifier
  * @throws AnnotationReaderException
  */
 private function processAnnotation(\Apha\Annotations\Annotation\AggregateIdentifier $annotation, \ReflectionProperty $reflectionProperty) : \Apha\Annotations\Annotation\AggregateIdentifier
 {
     if (!in_array($annotation->getType(), $this->validScalarTypes) && !class_exists($annotation->getType(), true)) {
         throw new AnnotationReaderException("Type '{$annotation->getType()}' is not a valid AggregateIdentifier type.");
     }
     if ($reflectionProperty->isPrivate()) {
         throw new AnnotationReaderException("Property must not be private.");
     }
     $annotation->setPropertyName($reflectionProperty->getName());
     return $annotation;
 }
开发者ID:martyn82,项目名称:apha,代码行数:17,代码来源:AggregateIdentifierAnnotationReader.php

示例11: setPrivatePropertyValue

 /**
  * @param object $object
  * @param string $property
  * @param mixed  $value
  */
 protected function setPrivatePropertyValue($object, $property, $value)
 {
     $reflectionProperty = new \ReflectionProperty($object, $property);
     if ($reflectionProperty->isPrivate() || $reflectionProperty->isProtected()) {
         $reflectionProperty->setAccessible(true);
         $reflectionProperty->setValue($object, $value);
         $reflectionProperty->setAccessible(false);
     } else {
         $object->{$property} = $value;
     }
 }
开发者ID:jaczkog,项目名称:json-rpc,代码行数:16,代码来源:AbstractTestCase.php

示例12: test___construct

 public function test___construct()
 {
     $instance = new $this->myclass();
     $this->assertInstanceOf($this->myclass, $instance);
     $this->assertInstanceOf('XoopsEditor', $instance);
     $items = array('_hiddenText');
     foreach ($items as $item) {
         $reflection = new ReflectionProperty($this->myclass, $item);
         $this->assertTrue($reflection->isPrivate());
     }
 }
开发者ID:ming-hai,项目名称:XoopsCore,代码行数:11,代码来源:dhtmltextareaTest.php

示例13: list

 function __construct(ReflectionProperty $property)
 {
     $this->name = $property->getName();
     $this->is_public = $property->isPublic();
     $this->is_private = $property->isPrivate();
     $this->is_protected = $property->isProtected();
     $this->is_static = $property->isStatic();
     $this->declaring_class = API_Doc_Class::instance($property->getDeclaringClass());
     list($comment, $meta) = $this->_docComment($property->getDocComment());
     $this->_processDescription($comment);
     $this->_processMeta($meta);
 }
开发者ID:Debenson,项目名称:openwan,代码行数:12,代码来源:property.php

示例14: __construct

 public function __construct($class, $property)
 {
     $property = new ReflectionProperty($class, $property);
     list($description, $tags) = self::parse($property->getDocComment());
     $this->data['title'] = $description[0];
     $this->data['description'] = trim(implode("\n", $description));
     if ($modifiers = $property->getModifiers()) {
         $this->data['modifiers'] = implode(' ', Reflection::getModifierNames($modifiers));
     } else {
         $this->data['modifiers'] = 'public';
     }
     if (isset($tags['var'])) {
         if (preg_match('/^(\\S*)(?:\\s*(.+?))?$/', $tags['var'][0], $matches)) {
             $this->data['type'] = $matches[1];
             if (isset($matches[2])) {
                 $this->data['description'] = array($matches[2]);
             }
         }
     }
     $this->data['name'] = $property->name;
     $this->data['class_name'] = $property->class;
     $this->data['is_static'] = $property->isStatic();
     $this->data['is_public'] = $property->isPublic();
     $class_rf = $property->getDeclaringClass();
     if ($property->class != $class) {
         $this->data['is_php_class'] = $class_rf->getStartLine() ? 0 : 1;
     } else {
         $this->data['is_php_class'] = false;
     }
     $have_value = false;
     if ($property->isStatic()) {
         $v = $class_rf->getStaticProperties();
         if (isset($v[$property->name])) {
             $value = $v[$property->name];
             $have_value = true;
         }
     } else {
         if (!$property->isPrivate()) {
             if (!$class_rf->isFinal() && !$class_rf->isAbstract()) {
                 $value = self::getValue($class, $property->name);
                 $have_value = true;
             }
         }
     }
     if ($have_value) {
         $this->data['value'] = self::dump($value);
         $this->data['value_serialized'] = serialize($value);
     }
 }
开发者ID:xiaodin1,项目名称:myqee,代码行数:49,代码来源:docs_roperty.php

示例15: __construct

 /**
  * Constructor
  *
  * @param string $declaringAspectClassName Name of the aspect containing the declaration for this introduction
  * @param string $propertyName Name of the property to introduce
  * @param \TYPO3\Flow\Aop\Pointcut\Pointcut $pointcut The pointcut for this introduction
  */
 public function __construct($declaringAspectClassName, $propertyName, \TYPO3\Flow\Aop\Pointcut\Pointcut $pointcut)
 {
     $this->declaringAspectClassName = $declaringAspectClassName;
     $this->propertyName = $propertyName;
     $this->pointcut = $pointcut;
     $propertyReflection = new \ReflectionProperty($declaringAspectClassName, $propertyName);
     if ($propertyReflection->isPrivate()) {
         $this->propertyVisibility = 'private';
     } elseif ($propertyReflection->isProtected()) {
         $this->propertyVisibility = 'protected';
     } else {
         $this->propertyVisibility = 'public';
     }
     $this->propertyDocComment = preg_replace('/@(TYPO3\\\\Flow\\\\Annotations|Flow)\\\\Introduce.+$/mi', 'introduced by ' . $declaringAspectClassName, $propertyReflection->getDocComment());
 }
开发者ID:sokunthearith,项目名称:Intern-Project-Week-2,代码行数:22,代码来源:PropertyIntroduction.php


注:本文中的ReflectionProperty::isPrivate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。