nowo-tech / ux-link-bundle
Symfony bundle to generate contact, share, map, and download links with safe URLs, Twig helpers, and extensible providers.
Package info
github.com/nowo-tech/UxLinkBundle
Type:symfony-bundle
pkg:composer/nowo-tech/ux-link-bundle
Requires
- php: >=8.2 <8.6
- symfony/config: ^7.4 || ^8.0
- symfony/dependency-injection: ^7.4 || ^8.0
- symfony/framework-bundle: ^7.4 || ^8.0
- symfony/http-kernel: ^7.4 || ^8.0
- symfony/translation: ^7.4 || ^8.0
- symfony/twig-bundle: ^7.4 || ^8.0
- symfony/ux-twig-component: ^2.20 || ^3.0
- symfony/yaml: ^7.4 || ^8.0
- twig/extra-bundle: ^3.12
- twig/string-extra: ^3.12
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- igor-php/igor-php: ^0.10.0
- nowo-tech/phpstan-frankenphp: ^1.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^10.0
- rector/rector: ^2.0
- symfony/browser-kit: ^7.4 || ^8.0
- symfony/phpunit-bridge: ^7.4 || ^8.0
- vincentlanglet/twig-cs-fixer: ^4.0
Suggests
- symfony/flex: For automatic recipe installation (config and bundles.php)
- symfony/stimulus-bundle: Optional Stimulus controllers (Web Share API, clipboard) in future releases
- symfony/ux-icons: Optional icon rendering for link components
Provides
None
Conflicts
None
Replaces
None
README
⭐ Found this useful? Install from Packagist and give the repo a star on GitHub. It helps us maintain and improve the project.
Generate safe, extensible contact, share, map, and download links for Symfony applications.
This bundle is FrankenPHP worker mode friendly (including reset_kernel: false). See the worker audit.
Installation
composer require nowo-tech/ux-link-bundle
Register the bundle (Symfony Flex does this automatically):
// config/bundles.php Nowo\UxLinkBundle\NowoUxLinkBundle::class => ['all' => true],
Quick example (PHP)
use Nowo\UxLinkBundle\Contract\LinkFactoryInterface; $link = $linkFactory->create('contact', 'whatsapp', [ 'recipient' => '+34600111222', 'message' => 'Hello', ]); echo $link->getUrl();
Quick example (Twig)
{{ ux_link_url('contact', 'whatsapp', { recipient: '+34600111222', message: 'Hello' }) }}
Quick example (Twig Component)
<twig:UxLink family="contact" provider="whatsapp" recipient="+34600111222" message="Hello" />
Version information
| Version | PHP | Symfony | Status |
|---|---|---|---|
| 1.2.x | >= 8.2 | 7.4 – 8.1+ | Supported |
| 1.1.x | >= 8.2 | 7.0 – 8.1+ | Supported |
| 1.0.x | >= 8.2 | 7.0 – 8.1+ | Supported |
Install a specific release:
composer require nowo-tech/ux-link-bundle:^1.1
Demos
make -C demo up-symfony8 # http://localhost:8048
Documentation
- Installation
- Configuration
- Usage
- Contributing
- Code of Conduct
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
Additional documentation
- GitHub Actions CI requirements
- PSR evaluation (REQ-CS-007)
- FrankenPHP worker audit
- Demo with FrankenPHP (includes worker mode)
Tests and coverage
- Tests: PHPUnit (unit + integration)
- PHP: 100%
- TS/JS: N/A
- Python: N/A
make test
make test-coverage
License
MIT — see LICENSE.
