PHP.mk документација

ReflectionClass::setStaticPropertyValue

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

reflectionclass.setstaticpropertyvalue.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека reflectionclass.setstaticpropertyvalue.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ReflectionClass::setStaticPropertyValue

Референца за `reflectionclass.setstaticpropertyvalue.php` со подобрена типографија и навигација.

reflectionclass.setstaticpropertyvalue.php

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionClass::setStaticPropertyValueПоставува вредност на јавен статичен имот

= NULL

public ReflectionClass::setStaticPropertyValue(string $name, mixed $value): void

Ја поставува вредноста на јавен статичен имот. Ако имотот е приватен или заштитен, методот ќе откаже.

ReflectionProperty::getRawValue() овозможува поставување на вредноста на јавни, приватни и заштитени имоти.

Параметри

name

Име на имотот.

value

Нова вредност на имотот.

Вратени вредности

Не се враќа вредност.

Дневник на промени

Верзија = NULL
7.4.0 Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: - Земи ги статичките имоти поставувањето приватен или заштитен имот сега резултира со фатална грешка. Претходно, фрлаше ReflectionException.

Види Исто така

Белешки од корисници 2 забелешки

Ендрју Џексон
пред 11 години
Calling this method on a static property that is not public will return a ReflectionException stating the property does not exist. This is quite misleading as the property is valid.

class test {
    public static $publicProperty = 'public';
    private static $privateProperty = 'private';

    public static function printProperties() {
        echo self::$publicProperty . "\n";
        echo self::$privateProperty . "\n";
    }
} 

$reflectedClass = new \ReflectionClass('test');
$reflectedClass->setStaticPropertyValue('publicProperty', 'foo');
$reflectedClass->setStaticPropertyValue( 'privateProperty', 'bar' );

PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class test does not have a property named privateProperty'

If you retrieve the method using the reflection class getProperty method you can circumnavigate this issue

$reflectedProperty = $reflectedClass->getProperty('privateProperty');
$reflectedProperty->setAccessible(true);
$reflectedProperty = $reflectedProperty->setValue('bar');

test::printProperties(); 
will echo
foo
bar
chuck at manchuck dot com
пред 13 години
It is important to note that calling ReflectionClass::setStaticPropertyValue will not allow you to add new static properties to a class.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.