aequation/utils
Aequation Wire Bundle provides a toolbox of asset/controllers for Symfony 7.2 projects. Install via composer (aequation/utils) to quickly add reusable front-end controllers and utilities for common UI and asset needs.
Installation:
composer require aequation/utils
This installs the package and its dependencies (including Symfony 7.2+ compatibility).
First Use Case: The package provides utility classes for common Symfony tasks. Start by importing the core utility class:
use Aequation\Utils\Utils;
Example: Generate a UUID (if included in the package):
$uuid = Utils::generateUuid();
Where to Look First:
src/Utils.php: Core utility methods (check for generateUuid(), slugify(), or sanitizeInput()).README.md: Verify if the package includes controllers/assets (e.g., AssetController for file handling).config/packages/aequation_utils.yaml: Check for default configurations (e.g., allowed file types, cache settings).Asset Handling (if included):
// Upload a file (hypothetical example)
$filePath = Utils::uploadAsset(
$request->file('file'),
'uploads',
['jpg', 'png'] // Allowed extensions
);
Data Sanitization:
$cleanInput = Utils::sanitizeInput($userInput, ['strip_tags', 'trim']);
Controller Integration:
use Aequation\Utils\Controller\AssetController;
// Inject into your controller
public function __construct(private AssetController $assetController) {}
public function upload(Request $request) {
return $this->assetController->handleUpload($request);
}
Configuration Overrides:
Override defaults in config/packages/aequation_utils.yaml:
aequation_utils:
upload_dir: 'custom_uploads'
allowed_extensions: ['pdf', 'docx']
kernel.request to pre-process input with Utils::sanitizeInput().// src/Twig/AppExtension.php
public function getFunctions() {
return [
new \Twig\TwigFunction('generate_uuid', [Utils::class, 'generateUuid']),
];
}
Symfony Version Lock:
composer.json if downgrading:
"symfony/*": "7.2.*"
Undocumented Methods:
Utils.php for @method annotations or test the package locally with phpunit.Configuration Overrides:
Extension class.config/packages/aequation_utils.yaml:
imports:
- { resource: '@AequationUtilsBundle/Resources/config/services.yaml' }
Asset Permissions:
upload_dir is writable:
chmod -R 775 config/uploads
Enable Debug Mode:
// config/packages/dev/aequation_utils.yaml
aequation_utils:
debug: true
(Check if the package supports this.)
Log Utility Calls:
Utils::setLogger($logger); // If supported
Custom Utilities:
Extend the Utils class:
namespace App\Utils;
use Aequation\Utils\Utils as BaseUtils;
class AppUtils extends BaseUtils {
public static function customMethod() { ... }
}
Event Subscribers: Listen for package events (if documented):
// config/services.yaml
App\EventListener\AssetUploadListener:
tags:
- { name: 'kernel.event_subscriber' }
Twig Filters: Add custom filters to Twig:
// src/Twig/AppExtension.php
public function getFilters() {
return [
new \Twig\TwigFilter('custom_filter', [Utils::class, 'customMethod']),
];
}
How can I help you explore Laravel packages today?