| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
RFC: https://wiki.php.net/rfc/enumerations
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Closes GH-6489.
|
|
|
|
|
| |
These are read-only properties, and Reflection makes sure to assign
only strings.
|
|
|
|
|
|
| |
reflection, session, shmop
Closes GH-6692
|
|
|
|
|
|
|
| |
If `zval_update_constant_ex()` fails, an exception has already been
thrown, so we clarify that in the implementation as well.
Closes GH-6557.
|
|
|
|
|
|
|
| |
This reverts commit ef6adb4e27853eb19bf50bad6486311920d6af7b.
Per Ondrej's comment, this is already being used by BetterReflection
adaptors, ugh.
|
|
|
|
| |
Closes GH-6384
|
|
|
|
| |
Closes GH-6376
|
| |
|
|
|
|
| |
Closes GH-6230
|
|
|
|
| |
Closes GH-6170
|
|
|
|
|
|
|
| |
ReflectionReference::fromArrayElement(array $array, int|string $key): ?ReflectionReference
is going to be its official signature for PHP 8.0.
Closes GH-5651
|
|
|
|
| |
Closes GH-6098
|
|
|
|
| |
We can add these types as a native type declaration to stubs as a side-effect. Closes GH-6068
|
|
|
|
| |
Related to GH-5627
|
|
|
|
| |
Closes GH-5850
|
|
|
|
| |
This class is not safe against malicious extension / instantiation.
|
| |
|
|
|
|
|
|
|
|
|
| |
RFC: https://wiki.php.net/rfc/attribute_amendments
Support for attribute grouping is left out, because the short
attribute syntax RFC will likely make it obsolete.
Closes GH-5751.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This solves [#79628](https://bugs.php.net/79628).
Similar to `ReflectionClass::getMethods()` and `ReflectionClass::getProperties()`,
this new `$filter` argument allows the filtering of constants defined in a class by
their visibility.
For that, we create three new constants for `ReflectionClassConstant`:
* `IS_PUBLIC`
* `IS_PROTECTED`
* `IS_PRIVATE`
Closes GH-5649.
|
|
|
|
|
|
| |
RFC: https://wiki.php.net/rfc/constructor_promotion
Closes GH-5291.
|
|
|
|
| |
Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
|
|
|
|
| |
Closes GH-5618
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This deprecates:
ReflectionParameter::isArray()
ReflectionParameter::isCallable()
ReflectionParameter::getClass()
These APIs have been superseded by ReflectionParameter::getType()
since PHP 7.0. Types introduced since that time are not available
through the old APIs, and their behavior is getting increasingly
confusing. This is how they interact with PHP 8 union types:
* isArray() will return true if the type is array or ?array,
but not any other union type
* Same for isCallable().
* getClass() will return a class for T|int etc, as long as the
union only contains a single type. T1|T2 will return null.
This behavior is not particularly reasonable or useful, and will
get more confusing as new type system extensions are added.
Closes GH-5209.
|
|
|
|
|
|
|
| |
Moreover, throw a more appropriate ValueError in case the integer
position provided is less than 0.
Closes GH-5513
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, disabling a function only replaces the internal
function handler with one that throws a warning, and a few
places in the engine special-case such functions, such as
function_exists. This leaves us with a Schrödinger's function,
which both does not exist (function_exists returns false) and
does exist (you cannot define a function with the same name).
In particular, this prevents the implementation of robust
polyfills, as reported in https://bugs.php.net/bug.php?id=79382:
if (!function_exists('getallheaders')) {
function getallheaders(...) { ... }
}
If getallheaders() is a disabled function, this code will break.
This patch changes disable_functions to remove the functions from
the function table completely. For all intents and purposes, it
will look like the function does not exist.
This also renders two bits of PHP functionality obsolete and thus
deprecated:
* ReflectionFunction::isDisabled(), as it will no longer be
possible to construct the ReflectionFunction of a disabled
function in the first place.
* get_defined_functions() with $exclude_disabled=false, as
get_defined_functions() now never returns disabled functions.
Fixed bug #79382.
Closes GH-5473.
|
|
|
|
| |
Closes GH-5376
|
| |
|
|
|
|
|
|
| |
Instead fetch the name from the respective structure. The only
place where this is still used is ReflectionClassConst,
as zend_class_const does not store the name.
|
|
|
|
|
|
| |
Instead fetch the name from the function/class/property,
as appropriate. This makes us independent of the property,
and eliminates error conditions related to it.
|
| |
|
| |
|
|
|
|
| |
Closes GH-5188
|
|
|
|
| |
This reverts commit c31029f335ca1b453af799805c43c37e959ad555.
|
| |
|
|
|
|
|
|
| |
Make sure we still perform a zpp check for the static case, and
also always enforce that the parameter is ?object. Otherwise we
violate the specified signature.
|
|
Where possible, the stub file should match the name of the C file,
so that the build system integration automatically recompiles it.
|