endroid / asset
Endroid Asset
Fund package maintenance!
endroid
Installs: 38 972
Dependents: 2
Suggesters: 0
Security: 0
Stars: 9
Watchers: 5
Forks: 0
Open Issues: 0
Requires
- php: ^8.2
- endroid/installer: ^1.3.1
- symfony/cache-contracts: ^2.0||^3.0
- symfony/http-client: ^5.4||^6.4||^7.0
- symfony/http-kernel: ^5.4||^6.4||^7.0
- symfony/options-resolver: ^5.4||^6.4||^7.0
- twig/twig: ^3.0
Requires (Dev)
- endroid/quality: dev-main
Suggests
- roave/security-advisories: Avoids installation of package versions with vulnerabilities
README
By endroid
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.