[web-php] PR #603: Modernize/micro optimizations
| From: | Ayesh | Date: | Sat, 02 Jul 2022 14:47:01 +0000 |
| Subject: | [web-php] PR #603: Modernize/micro optimizations | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-30230@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/web-php/pull/603
Author: Ayesh
This PR contains multiple commits with micro-optimizations, hopefully to reduce the review burden
reviewing multiple fully fledged PRs.
If any of them don't seem to make sense, I'll happily take them off.
Thank you.
---
- 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
- 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.
A write-up is 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