TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.4 KiB
61 lines
2.4 KiB
--TEST--
|
|
Static Class Property Read/Write Test
|
|
--FILE--
|
|
<?php
|
|
|
|
include __DIR__ . '/static_property_test.inc';
|
|
|
|
// Test reading static properties
|
|
echo "Initial public property: " . TestClass::$public_static_property . "\n";
|
|
echo "Initial protected property: " . TestClass::getProtectedProperty() . "\n";
|
|
echo "Initial private property: " . TestClass::getPrivateProperty() . "\n";
|
|
echo "Initial default property: " . TestClass::$default_static_property . "\n";
|
|
|
|
// Test writing static properties
|
|
TestClass::$public_static_property = 'modified_public';
|
|
TestClass::setProtectedProperty('modified_protected');
|
|
TestClass::setPrivateProperty('modified_private');
|
|
TestClass::$default_static_property = 'modified_default';
|
|
|
|
// Test reading static properties after modification
|
|
echo "Modified public property: " . TestClass::$public_static_property . "\n";
|
|
echo "Modified protected property: " . TestClass::getProtectedProperty() . "\n";
|
|
echo "Modified private property: " . TestClass::getPrivateProperty() . "\n";
|
|
echo "Modified default property: " . TestClass::$default_static_property . "\n";
|
|
|
|
echo "Initial counter: " . AnotherClass::$counter . "\n";
|
|
echo "After increment 1: " . AnotherClass::increment() . "\n";
|
|
echo "After increment 2: " . AnotherClass::increment() . "\n";
|
|
echo "Final counter: " . AnotherClass::$counter . "\n";
|
|
|
|
echo "Int property: " . DataTypeTest::$int_prop . "\n";
|
|
echo "Float property: " . DataTypeTest::$float_prop . "\n";
|
|
echo "Bool property: " . (DataTypeTest::$bool_prop ? 'true' : 'false') . "\n";
|
|
|
|
DataTypeTest::$int_prop = 100;
|
|
DataTypeTest::$float_prop = 2.71;
|
|
DataTypeTest::$bool_prop = false;
|
|
|
|
echo "Modified int property: " . DataTypeTest::$int_prop . "\n";
|
|
echo "Modified float property: " . DataTypeTest::$float_prop . "\n";
|
|
echo "Modified bool property: " . (DataTypeTest::$bool_prop ? 'true' : 'false') . "\n";
|
|
?>
|
|
--EXPECTF--
|
|
Initial public property: initial_value
|
|
Initial protected property: protected_value
|
|
Initial private property: private_value
|
|
Initial default property: default_value
|
|
Modified public property: modified_public
|
|
Modified protected property: modified_protected
|
|
Modified private property: modified_private
|
|
Modified default property: modified_default
|
|
Initial counter: 0
|
|
After increment 1: 1
|
|
After increment 2: 2
|
|
Final counter: 2
|
|
Int property: 42
|
|
Float property: %s
|
|
Bool property: true
|
|
Modified int property: 100
|
|
Modified float property: 2.71
|
|
Modified bool property: false
|