microweber-packages / microweber-url
URL management package for Microweber - can be used standalone with any Laravel application
Package info
github.com/microweber-packages/microweber-url
pkg:composer/microweber-packages/microweber-url
v1.0.0
2026-11-03 11:20 UTC
Requires
- php: ^8.1
- illuminate/routing: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- microweber-packages/microweber-package: *
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.9
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
- microweber-packages/url: *
This package is auto-updated.
Last update: 2026-11-03 17:07:52 UTC
README
A reusable Laravel package for URL management, slug generation, URL security validation, and transliteration.
Installation
composer require microweber-packages/microweber-url
The package uses Laravel auto-discovery, so the service provider will be registered automatically.
Usage
UrlManager
use MicroweberPackages\Url\UrlManager; $urlManager = Url::getFacadeRoot(); // Get site URL $url = $urlManager->site_url('path/to/page'); // Get hostname $hostname = $urlManager->hostname(); // Generate slug $slug = $urlManager->slug('Hello World: My Page'); // Get current URL $current = $urlManager->current(); // URL segments $segments = $urlManager->segments(); $segment = $urlManager->segment(0); // Replace/restore site URL placeholders $replaced = $urlManager->replace_site_url($data); $restored = $urlManager->replace_site_url_back($data); // Clean dangerous URL wrappers $clean = $urlManager->clean_url_wrappers($path);
URLify (Transliteration)
use MicroweberPackages\Url\URLify; // Filter text to URL-safe slug echo URLify::filter("J'étudie le français"); // Output: "jetudie-le-francais" // Transliterate characters echo URLify::transliterate('café'); // Output: "cafe"
UrlSecurity
use MicroweberPackages\Url\UrlSecurity; // Check if URL is safe for remote fetching $safe = UrlSecurity::isSafeRemoteUrl('https://example.com/image.jpg'); // true $safe = UrlSecurity::isSafeRemoteUrl('javascript:alert(1)'); // false // Sanitize URL for CSS url() context $cssUrl = UrlSecurity::safeCssUrl($userUrl);
Testing
cd packages/microweber-url
../../vendor/bin/phpunit
License
MIT
Standalone validation
A minimal Laravel (Orchestra Testbench) app lives in standalone-validation/:
cd standalone-validation
composer install
./vendor/bin/phpunit
Static analysis
# From monorepo root (level 7 maximized) composer analyse -- packages/microweber-url/src # Or package config ../../vendor/bin/phpstan analyse -c phpstan.neon.dist