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


PHP ReflectionProperty::isDefault方法代码示例

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


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

示例1: defaultValue

 public function defaultValue()
 {
     if ($this->property->isDefault()) {
         $defaultProperties = $this->property->getDeclaringClass()->getDefaultProperties();
         return $defaultProperties[$this->property->getName()];
     }
     return null;
 }
开发者ID:watoki,项目名称:reflect,代码行数:8,代码来源:InstanceVariableProperty.php

示例2: isDefault

 /**
  * Returns whether the property is a default property defined in the class.
  *
  * A default property is defined in the class definition.
  * A non-default property is an instance specific state.
  * @return bool
  */
 public function isDefault()
 {
     if ($this->reflectionSource instanceof ReflectionProperty) {
         return $this->reflectionSource->isDefault();
     } else {
         return parent::isDefault();
     }
 }
开发者ID:naderman,项目名称:ezc-reflection,代码行数:15,代码来源:property.php

示例3: reflectProperty

function reflectProperty($class, $property)
{
    $propInfo = new ReflectionProperty($class, $property);
    echo "**********************************\n";
    echo "Reflecting on property {$class}::{$property}\n\n";
    echo "isDefault():\n";
    var_dump($propInfo->isDefault());
    echo "\n**********************************\n";
}
开发者ID:badlamer,项目名称:hhvm,代码行数:9,代码来源:ReflectionProperty_isDefault_basic.php

示例4: reflectProperty

function reflectProperty($class, $property)
{
    $propInfo = new ReflectionProperty($class, $property);
    echo "**********************************\n";
    echo "Reflecting on property {$class}::{$property}\n\n";
    echo "isDefault():\n";
    var_dump($propInfo->isDefault());
    echo "getModifiers():\n";
    var_dump($propInfo->getModifiers());
    echo "getDeclaringClass():\n";
    var_dump($propInfo->getDeclaringClass());
    echo "getDocComment():\n";
    var_dump($propInfo->getDocComment());
    echo "\n**********************************\n";
}
开发者ID:badlamer,项目名称:hhvm,代码行数:15,代码来源:ReflectionProperty_basic2.php

示例5: scan


//.........这里部分代码省略.........
                 // process 'implements' keyword
                 do {
                     $tokens->next();
                     $root = $tokens->is(T_NS_SEPARATOR);
                     $parent = $this->_parseName($tokens);
                     if ($root) {
                         // extends from root namespace
                         $class->addInterface($parent);
                     } elseif (isset($aliases[$parent])) {
                         $class->addInterface($aliases[$parent]);
                     } else {
                         $class->addInterface($_ns . $parent);
                     }
                 } while ($tokens->is(','));
             }
             $tokens->forwardTo('{')->next();
             while ($tokens->forwardTo(T_CONST, T_FUNCTION, '{', '}', T_VARIABLE) && $tokens->valid()) {
                 switch ($tokens->key()) {
                     case T_CONST:
                         $constant = new EntityConstant($class->name . '::' . $tokens->next()->get(T_STRING));
                         $constant->setValue(constant($constant->name));
                         $constant->setLine(new Line($this, $tokens->getLine()));
                         $class->addConstant($constant);
                         break;
                     case T_VARIABLE:
                         $property = new EntityProperty(ltrim($tokens->getAndNext(), '$'));
                         $ref = new \ReflectionProperty($class->name, $property->name);
                         $doc = $ref->getDocComment();
                         if ($doc) {
                             $property->setDescription(ToolKit::parseDoc($doc)['desc']);
                         }
                         if ($ref->isPrivate()) {
                             $property->addFlag(Flags::IS_PRIVATE);
                         } elseif ($ref->isProtected()) {
                             $property->addFlag(Flags::IS_PROTECTED);
                         } else {
                             $property->addFlag(Flags::IS_PUBLIC);
                         }
                         if ($ref->isStatic()) {
                             $property->addFlag(Flags::IS_STATIC);
                         }
                         if ($ref->isDefault()) {
                             $property->setValue($ref->getDeclaringClass()->getDefaultProperties()[$property->name]);
                         }
                         $class->addProperty($property);
                         break;
                     case T_FUNCTION:
                         $method = new EntityMethod($name . '::' . $tokens->next()->get(T_STRING));
                         $method->setLine($this->line($tokens->getLine()));
                         $this->parseCallable($method, $ref = new \ReflectionMethod($class->name, $method->short));
                         if ($ref->isPrivate()) {
                             $method->addFlag(Flags::IS_PRIVATE);
                         } elseif ($ref->isProtected()) {
                             $method->addFlag(Flags::IS_PROTECTED);
                         } else {
                             $method->addFlag(Flags::IS_PUBLIC);
                         }
                         if ($ref->isStatic()) {
                             $method->addFlag(Flags::IS_STATIC);
                         }
                         if ($ref->isAbstract()) {
                             $method->addFlag(Flags::IS_ABSTRACT);
                             $method->addFlag(Flags::IS_ABSTRACT_IMPLICIT);
                         } elseif ($ref->isFinal()) {
                             $method->addFlag(Flags::IS_FINAL);
                         }
                         if (isset($method->options['deprecated'])) {
                             $method->addFlag(Flags::IS_DEPRECATED);
                         }
                         $tokens->forwardTo(')')->next();
                         if ($tokens->is('{')) {
                             $method_body = $tokens->getScope();
                             $method->setBody($method_body);
                         }
                         $tokens->next();
                         $class->addMethod($method);
                         break;
                     case '{':
                         // use traits scope
                         $tokens->forwardTo('}')->next();
                         break;
                     case '}':
                         // end of class
                         $tokens->next();
                         $this->classes[$class->name] = $class;
                         break 2;
                 }
             }
         } elseif ($tokens->is('}') && $ns_bracket) {
             $tokens->next();
             $ns_bracket = false;
         } else {
             drop($tokens->curr);
             if ($tokens->valid()) {
                 throw new UnexpectedTokenException($tokens);
             }
             break;
         }
     }
 }
开发者ID:sergeyk-jomedia,项目名称:koda,代码行数:101,代码来源:EntityFile.php

示例6: A

<?php

class A
{
    public $defprop;
}
$a = new A();
$a->myprop = null;
$ro = new ReflectionObject($a);
$props = $ro->getProperties();
$prop1 = $props[0];
var_dump($prop1->isDefault());
$prop2 = $props[1];
var_dump($prop2->isDefault());
var_dump($ro->getProperty('defprop')->isDefault());
var_dump($ro->getProperty('myprop')->isDefault());
$prop1 = new ReflectionProperty($a, 'defprop');
$prop2 = new ReflectionProperty($a, 'myprop');
var_dump($prop1->isDefault());
var_dump($prop2->isDefault());
?>
==DONE==
开发者ID:badlamer,项目名称:hhvm,代码行数:22,代码来源:ReflectionParameter_isDefault.php

示例7: testSetUndefinedProperty

 public function testSetUndefinedProperty()
 {
     $ins = $this->Basic::newWithoutConstructor();
     $ins->undefined = 'newValue';
     $this->assertEquals('newValue', $ins->undefined);
     (function ($tester) {
         $rp = new \ReflectionProperty($this->ins, 'undefined');
         $tester->assertFalse($rp->isDefault());
     })->call($ins, $this);
 }
开发者ID:mpyw,项目名称:privator,代码行数:10,代码来源:BasicTest.php

示例8: ReflectionProperty

<?php

class C
{
    public static $p;
}
var_dump(new ReflectionProperty());
var_dump(new ReflectionProperty('C::p'));
var_dump(new ReflectionProperty('C', 'p', 'x'));
$rp = new ReflectionProperty('C', 'p');
var_dump($rp->getName(1));
var_dump($rp->isPrivate(1));
var_dump($rp->isProtected(1));
var_dump($rp->isPublic(1));
var_dump($rp->isStatic(1));
var_dump($rp->getModifiers(1));
var_dump($rp->isDefault(1));
开发者ID:badlamer,项目名称:hhvm,代码行数:17,代码来源:ReflectionProperty_error.php

示例9: ReflectionProperty

<pre>
<?php 
class String
{
    public $length = 5;
}
// Создание экземпляра класса ReflectionProperty
$prop = new ReflectionProperty('String', 'length');
// Вывод основной информации о свойстве класса
printf("===> %s%s%s%s свойство '%s' (которое было %s)\n" . "     имеет модификаторы %s\n", $prop->isPublic() ? ' public' : '', $prop->isPrivate() ? ' private' : '', $prop->isProtected() ? ' protected' : '', $prop->isStatic() ? ' static' : '', $prop->getName(), $prop->isDefault() ? 'объявлено во время компиляции' : 'создано во время выполнения', var_export(Reflection::getModifierNames($prop->getModifiers()), 1));
exit;
// Создание экземпляра String
$obj = new String();
// Получение текущего значения
printf("---> Значение: ");
var_dump($prop->getValue($obj));
// Изменение значения
$prop->setValue($obj, 10);
printf("---> Установка значения 10, новое значение равно: ");
var_dump($prop->getValue($obj));
// Дамп объекта
var_dump($obj);
?>
</pre>
开发者ID:kapsilon,项目名称:Specialist,代码行数:24,代码来源:06-props.php

示例10: accessLengthProp

<?php

class String
{
    public $length = 5;
    function accessLengthProp(string $obj, $length)
    {
        $reflection = new ReflectionClass($obj);
        $property = $reflection->getProperty($length);
        $property->setAccessible(true);
        return $property->getValue($obj);
    }
}
$prop = new ReflectionProperty('String', 'length');
printf("<br/>===> The%s%s%s%s property '%s' (which was %s)  having the modifiers %s<br/>", $prop->isPublic() ? ' public' : '', $prop->isPrivate() ? ' private' : '', $prop->isProtected() ? ' protected' : '', $prop->isStatic() ? ' static' : '', $prop->getName(), $prop->isDefault() ? 'declared at compile-time' : 'created at run-time', var_export(Reflection::getModifierNames($prop->getModifiers()), 1));
$obj = new String();
echo "<br/>===> The length property of the object is " . $obj->accessLengthProp($obj, 'length') . "<br/>";
printf("<br/>===> The  value is: ");
echo $prop->getValue($obj) . "<br/>";
$prop->setValue($obj, 10);
printf("<br/>===> The setting value to 10, new value is: ");
echo " " . $prop->getValue($obj);
/* output

===> The public property 'length' (which was declared at compile-time) having the modifiers array ( 0 => 'public', )

===> The length property of the object is 5

===> The value is: 5

===> The setting value to 10, new value is: 10
开发者ID:KB-WEB-DEVELOPMENT,项目名称:Kami_Barut_PHP_projects,代码行数:31,代码来源:ReflectionProperty+example.php

示例11: cloneSchema

 /**
  * Clone parameter options using ReflectionProperty.
  *
  * @param \ReflectionProperty $property
  */
 public function cloneSchema(\ReflectionProperty $property)
 {
     $this->setDefault(false);
     $this->setComment($property->getDocComment());
     $this->static = $property->isStatic();
     if ($property->isPrivate()) {
         $this->setAccess(self::ACCESS_PRIVATE);
     } elseif ($property->isProtected()) {
         $this->setAccess(self::ACCESS_PROTECTED);
     }
     if (!$property->isDefault()) {
         return;
     }
     $parentDefaults = $property->getDeclaringClass()->getDefaultProperties();
     foreach ($parentDefaults as $name => $defaultValue) {
         if ($name == $property->getName()) {
             $this->setDefault(true, $defaultValue);
             break;
         }
     }
 }
开发者ID:jwdeitch,项目名称:spiral,代码行数:26,代码来源:PropertyElement.php


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