phpnomad/asset

Maintainers

Package info

github.com/phpnomad/asset

Homepage

pkg:composer/phpnomad/asset

Statistics

Installs: 2 213

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 1

1.0.0 2024-12-18 16:57 UTC

README

Latest Version Total Downloads PHP Version License

phpnomad/asset defines the contract PHPNomad applications use to turn asset file paths into public URLs. The URL for a CSS file, an image, or a JavaScript bundle depends on where the code runs. A WordPress plugin, a Laravel app, and a standalone PHP service all publish assets under different prefixes. This package provides a single interface so the rest of your code can ask for an asset URL without caring which host is serving it.

Installation

composer require phpnomad/asset

Overview

  • PHPNomad\Asset\Interfaces\AssetStrategy is the only interface in the package. It has two methods.
  • getUrlForAbsoluteAsset(string $file) takes the absolute filesystem path to an asset and returns its public URL.
  • getUrlForRelativeAsset(string $file, string $relativeTo) resolves a path relative to another file (usually __FILE__ from the caller) and returns the URL for the resulting asset.
  • Implementations live in host-specific integrations. The WordPress integration converts plugin paths through plugin_dir_url(). A standalone implementation strips a known public directory and joins the app URL.
  • Swapping implementations lets the same asset-loading code move between hosts without changes.

Documentation

Full documentation lives at phpnomad.com.

License

Released under the MIT License. See LICENSE.txt.