andreas-glaser/php-helpers
PHP 8.2+ helper toolkit offering ArrayHelper and other utilities for everyday tasks. Includes dot-notation get/set/unset, key/value lookups, insert/prepend/append, random/first/last helpers, filtering empty values, implode/explode helpers, key casing conversion, and more.
Request facade, Url helper) requires careful evaluation.HexHelper, CsvHelper) may still duplicate Laravel’s tools (e.g., Str, Arr).isAjax(), getUserAgent()) mirrors Laravel’s Request facade. Integration may require abstraction layers to avoid redundancy.addQuery(), normalize()) could complement Laravel’s Url helper but may need wrapper classes for consistency.RequestHelper) could be exposed via Laravel facades for easier access.// config/app.php
'aliases' => [
'RequestHelper' => \AndreasGlaser\Helpers\RequestHelper::class,
];
UrlHelper::normalize() in loops).Request facade (e.g., isAjax() vs. request()->ajax()).Url::to(), route(), and action() helpers.isCli()) may behave differently in Laravel’s context (e.g., Artisan commands vs. HTTP requests).isLocalhost(), getClientIp()) may interact with Laravel’s security middleware (e.g., TrustProxies).Request, Url, Str)?UrlHelper::addQuery() for complex query strings) not covered by Laravel?RequestHelper::isMobile()) over Laravel’s request()->is()?TrustProxies, ThrottleRequests)?getClientIp() bypass Laravel’s proxy trust logic?RequestHelper, UrlHelper, and NetworkHelper are tailored for Laravel’s web stack.isAjax()) are redundant with Request facade.isMobile() logic with RequestHelper::isMobile().UrlHelper::addQuery() for complex API pagination.NetworkHelper::isLocalhost() into admin middleware.Str, Arr, or Collection for non-HTTP tasks.UrlHelper/RequestHelper against Laravel’s built-ins.RequestHelper vs. Request facade).if ($request->ajax())) with RequestHelper::isAjax().UrlHelper::addQuery() for API filters).Url::to().NetworkHelper::isLocalhost()).TrustProxies.// app/Providers/AppServiceProvider.php
public function boot()
{
\Illuminate\Support\Facades\Facade::alias(
\AndreasGlaser\Helpers\RequestHelper::class,
'RequestHelper'
);
}
RequestHelper::isMobile() instead of \AndreasGlaser\Helpers\RequestHelper::isMobile().composer.json:
"require": {
"andreas-glaser/php-helpers": "^2.0"
}
UrlHelper for dynamic links.composer why-not andreas-glaser/php-helpers to check for version conflicts.phpstan.neon:
includes:
- vendor/andreas-glaser/php-helpers/src/
phpstan and psalm to detect type/integration issues.How can I help you explore Laravel packages today?