Adds intuitive shortcut aliases like php.net/operator.precedence,
php.net/backtick.operator, php.net/string.type, php.net/statements,
etc. Supports both dot and hyphen separators for consistency.
The include/languages.inc file was not removed as it's used in other
repositories. It should be removed after migration.
Tests were added to ensure that the global variables and the constants
are in sync with each other.
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
* Replace `ob_get_contents();ob_clean()` with `ob_get_clean()`
`ob_get_clean()` is equivalent to `ob_get_contents()` followed by `ob_clean()`.
* Replace `intval()` calls with `(int)` type cast
This is a micro-optimization because `intval()` is a function call, and the type cast is about 6 times fast.
* Replace `preg_replace` call that could be done with an `rtrim()` call
In `./error.php`, there is a `preg_replace('!/+$!', '', $URI);` call that essentially is equivalent to `rtrim()`, that both calls removing trailing slash characters in `$URI`.
The `rtim()` call is more legible and faster.
* Combine consecutive `str_replace` calls to a single `str_replace` call
* Use short ternary operator where possible
Improves code readability.
* Cascade various `else` statements where possible
Cleans up the code by removing unnecessary `else` blocks and moving the code to the parent context if the previous `if` block exits the function by either terminating the script, or with a `return` statement.
* Combine multiple `isset()` calls to a single `isset()`
`isset()` accepts multiple parameters and returns `true` only if all of the parameters are `isset`. It makes sense to combine multiple individual `isset` calls to a single call for better readability.
* Replace `for` loop with a `foreach` loop
* Remove unnecessary character escapes in regular expressions
Regular expression special characters are context-sensitive. For example, special characters such as `.` are not considered special within square braces (`[]`).
This removes several of such instances that certain characters are escaped, but it is not strictly necessary within the context. This improves the readability of the expression.
See more information at [PHP.Watch: Writing better Regular Expressions in PHP](https://php.watch/articles/php-regex-readability#reduce-escape)
* Remove unnecessary break statement
* Remove unnecessary PHP close tags
* Remove redundant JSON_ERROR_NONE check
Remove unnecessary `json_last_error() == JSON_ERROR_NONE` where the decoded object is inspected already.
Closes GH-603.
Redirect `php.net/GH-123` to the corresponding issue or pull request
on php/php-src. This is part of https://wiki.php.net/rfc/github_issues,
but is also useful independently for pull request references.
With this diff, version.inc will ONLY export one "variable" named
$RELEASES which will continue to have the same format as previous.
It will also export a helper method named release_get_latest()
for quickly accessing the most recent version published.
All other globals previously exported by this function are
no longer used on web-php.