REDROOM
PHP 8.2.32
Path:
Logout
Edit File
Size: 2.47 KB
Close
/home/ecopackply/www/demo/system/Test/ReflectionHelper.php
Text
Base64
<?php declare(strict_types=1); /** * This file is part of CodeIgniter 4 framework. * * (c) CodeIgniter Foundation <admin@codeigniter.com> * * For the full copyright and license information, please view * the LICENSE file that was distributed with this source code. */ namespace CodeIgniter\Test; use Closure; use ReflectionClass; use ReflectionException; use ReflectionMethod; use ReflectionObject; use ReflectionProperty; /** * Testing helper. */ trait ReflectionHelper { /** * Find a private method invoker. * * @param object|string $obj object or class name * @param string $method method name * * @return Closure(mixed ...$args): mixed * * @throws ReflectionException */ public static function getPrivateMethodInvoker($obj, $method) { $refMethod = new ReflectionMethod($obj, $method); $obj = (gettype($obj) === 'object') ? $obj : null; return static fn (...$args): mixed => $refMethod->invokeArgs($obj, $args); } /** * Find an accessible property. * * @param object|string $obj * @param string $property * * @return ReflectionProperty * * @throws ReflectionException */ private static function getAccessibleRefProperty($obj, $property) { $refClass = is_object($obj) ? new ReflectionObject($obj) : new ReflectionClass($obj); return $refClass->getProperty($property); } /** * Set a private property. * * @param object|string $obj object or class name * @param string $property property name * @param mixed $value value * * @throws ReflectionException */ public static function setPrivateProperty($obj, $property, $value): void { $refProperty = self::getAccessibleRefProperty($obj, $property); if (is_object($obj)) { $refProperty->setValue($obj, $value); } else { $refProperty->setValue(null, $value); } } /** * Retrieve a private property. * * @param object|string $obj object or class name * @param string $property property name * * @return mixed * * @throws ReflectionException */ public static function getPrivateProperty($obj, $property) { $refProperty = self::getAccessibleRefProperty($obj, $property); return is_string($obj) ? $refProperty->getValue() : $refProperty->getValue($obj); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 4 × Files: 15
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
Constraints
DIR
-
drwxr-xr-x
2026-01-24 08:10:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Filters
DIR
-
drwxr-xr-x
2026-01-24 08:10:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Interfaces
DIR
-
drwxr-xr-x
2026-01-24 08:11:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Mock
DIR
-
drwxr-xr-x
2026-01-24 08:11:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
bootstrap.php
3.48 KB
lrw-r--r--
2026-01-24 08:03:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CIUnitTestCase.php
13.61 KB
lrw-r--r--
2026-01-24 08:03:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConfigFromArrayTrait.php
1.09 KB
lrw-r--r--
2026-01-24 08:03:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ControllerTestTrait.php
7.55 KB
lrw-r--r--
2026-01-24 08:03:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DatabaseTestTrait.php
9.70 KB
lrw-r--r--
2026-01-24 08:03:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DOMParser.php
7.84 KB
lrw-r--r--
2026-01-24 08:03:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Fabricator.php
17.08 KB
lrw-r--r--
2026-01-24 08:03:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FeatureTestTrait.php
11.82 KB
lrw-r--r--
2026-01-24 08:03:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FilterTestTrait.php
9.19 KB
lrw-r--r--
2026-01-24 08:03:41
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
IniTestTrait.php
729 B
lrw-r--r--
2026-01-24 08:03:41
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PhpStreamWrapper.php
1.57 KB
lrw-r--r--
2026-01-24 08:03:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ReflectionHelper.php
2.47 KB
lrw-r--r--
2026-01-24 08:03:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
StreamFilterTrait.php
979 B
lrw-r--r--
2026-01-24 08:03:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TestLogger.php
2.40 KB
lrw-r--r--
2026-01-24 08:03:46
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TestResponse.php
13.51 KB
lrw-r--r--
2026-01-24 08:03:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).