adunblock / server-tag-laravel
A Laravel package to fetch and render scripts from a remote URL with caching support.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
pkg:composer/adunblock/server-tag-laravel
Requires
- php: >=7.4
- illuminate/http: ^8.0|^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0|^12.0
This package is auto-updated.
Last update: 2026-02-28 04:50:40 UTC
README
A Laravel package to fetch and render scripts from a remote URL with caching support. Perfect for server-side script loading and integration with third-party services.
Features
- Server-side script fetching from remote URLs
- Built-in caching support to reduce external requests
- Customizable rendering with closures
- Automatic Laravel service provider registration
- Works seamlessly with Blade templates
- Support for Laravel 8, 9, 10, 11, and 12
Requirements
- PHP 7.4 or higher
- Laravel 8.x, 9.x, 10.x, 11.x, or 12.x
Installation
Install the package via Composer:
composer require adunblock/server-tag-laravel:^1.0
The package will be automatically registered via Laravel's package auto-discovery feature.
Usage
Basic Usage
In your Blade template, use the server_tag() helper function to fetch and render scripts from a remote URL:
<!DOCTYPE html> <html> <head> <title>My Page</title> {!! server_tag('https://your-remote-url.com/scripts') !!} </head> <body> <h1>My Page</h1> </body> </html>
With Caching
Specify a cache duration (in seconds) as the second parameter:
{!! server_tag('https://your-remote-url.com/scripts', 300) !!}
This will cache the fetched scripts for 5 minutes (300 seconds), reducing external requests.
Custom Rendering
You can provide a custom closure as the third parameter to control how script tags are rendered:
{!!
server_tag('https://your-remote-url.com/scripts', 300, function($scripts) {
$scriptTags = array_map(function ($src) {
return "<script src=\"{$src}\" defer></script>";
}, $scripts);
return implode("\n", $scriptTags);
})
!!}
Function Signature
server_tag(string $url, int $cache_seconds = 0, ?callable $render_script = null): string
Parameters:
$url(string): The remote URL to fetch scripts from$cache_seconds(int, optional): Cache duration in seconds. Default is 0 (no caching)$render_script(callable, optional): Custom rendering function. Receives an array of script URLs and returns an HTML string
How It Works
- The helper fetches content from the specified remote URL using Laravel's HTTP client
- If caching is enabled, the response is stored in Laravel's cache for the specified duration
- The fetched scripts are rendered as
<script>tags (or using your custom renderer) - The HTML is returned and can be used directly in your Blade templates
License
ISC
Support
- Issues: GitHub Issues
- Homepage: https://github.com/adunblock/adunblock-server-tag
Author
AdUnblock - support@ad-unblock.com