Skip to content
/ asset Public

Abstraction layer for providing contents from different sources

License

Notifications You must be signed in to change notification settings

endroid/asset

Repository files navigation

Asset

By endroid

Latest Stable Version Build Status Total Downloads License

Library for quick and easy asset management.

Read the blog for more information on why I created this library.

  • ControllerAsset: generates the string from a controller action and parameters.
  • TemplateAsset: generates the string from a template and parameters.
  • FileAsset: generates the string by loading the contents of a file.
  • UrlAsset: simply contains a string which is returned when requested.
  • DataAsset: simply contains a string which is returned when requested.
  • CacheAsset: wraps any of the above in a cache to optimize performance.

All implement AssetInterface and provide the method: getData().

Usage

The easiest way to work with assets is by letting the factory create assets for you. This allows you to create your assets without worrying about the necessary dependencies.

$dataAsset = $assetFactory->create([
   'controller' => CoverController::class,
   'parameters' => ['title' => 'My PDF', 'date' => new DateTime()],
   'cache_key' => 'cover',
   'cache_expires_after' => 3600,
   'cache_clear' => true, // use to purge any previously cached data
]);

Installation

Use Composer to install the library.

$ composer require endroid/asset

When you use Symfony, the installer makes sure that services are automatically wired. If this is not the case you can find the configuration files in the .install/symfony folder.

Versioning

Version numbers follow the MAJOR.MINOR.PATCH scheme. Backwards compatible changes will be kept to a minimum but be aware that these can occur. Lock your dependencies for production and test your code when upgrading.

License

This bundle is under the MIT license. For the full copyright and license information please view the LICENSE file that was distributed with this source code.

About

Abstraction layer for providing contents from different sources

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages