- Can I use this Symfony TicketBAI bundle directly in a Laravel project?
- No, this bundle is designed for Symfony and relies on its Dependency Injection, Config, and HTTP Client systems. Laravel requires a custom wrapper to abstract Symfony-specific components like the Container, Validator, and configuration system. You’d need to manually adapt the core TicketBAI logic (e.g., API calls, validation) to Laravel’s equivalents.
- What Laravel alternatives exist for TicketBAI integration?
- There isn’t a native Laravel package for TicketBAI, but you could build a lightweight custom client using Laravel’s HTTP facade or Guzzle for API calls, and Laravel’s Validator for rules. Alternatively, check if the [HazteLabs/TicketBAI](https://github.com/HazteLabs/TicketBAI) PHP library (if available) offers a simpler, Laravel-compatible solution.
- How do I install this bundle in a Symfony project?
- Run `composer require apabolleta/symfony-ticketbai` in your Symfony project’s root. The bundle assumes Symfony’s Bundle system, so ensure your `config/bundles.php` includes `APMTicketBAIBundle`. Follow the Symfony-specific configuration steps in the [README](https://github.com/apabolleta/symfony-ticketbai).
- What Laravel versions are compatible with this package?
- This package is **not** Laravel-compatible—it’s a Symfony bundle. However, if you refactor the core TicketBAI logic (e.g., API client, validation) into standalone PHP classes, it could work with Laravel 8.x–10.x. Test thoroughly, as Symfony dependencies (e.g., `symfony/http-client`) may introduce conflicts.
- Does this bundle support real-time TicketBAI API validation?
- Yes, the bundle abstracts TicketBAI’s API interactions, including validation of invoices against Basque/Euskadi regulations. In Laravel, you’d need to replicate this logic using Laravel’s HTTP client (e.g., `Http::post()`) and manually handle the API’s response schema or use a custom validator service.
- How do I handle Symfony’s YAML config in Laravel?
- Symfony’s `config/packages/ticketbai.yaml` won’t work in Laravel. Replace it with a `.env` file (e.g., `TICKETBAI_API_URL`, `TICKETBAI_API_KEY`) and a `config/ticketbai.php` file for Laravel’s configuration system. Map Symfony’s bundle parameters to Laravel’s binding or service container manually.
- What’s the maintenance status of this package?
- The package has **no recent updates** (3 stars, low activity) and relies on Symfony 5.x. If TicketBAI’s API changes or Symfony dependencies break, you’ll need to maintain it yourself. Consider forking the repo or building a Laravel-native alternative if long-term support is critical.
- Can I use this for production in a Laravel app?
- Only if you fully refactor the bundle into Laravel-compatible components. The original bundle isn’t production-ready for Laravel due to Symfony dependencies. Test thoroughly for edge cases (e.g., API rate limits, validation errors) and monitor TicketBAI’s API stability, as the bundle lacks active maintenance.
- How do I test TicketBAI functionality in Laravel?
- Mock the TicketBAI API responses using Laravel’s `Http::fake()` or PHPUnit’s HTTP client. Test validation logic with Laravel’s `Validator::make()` and custom assertions. Since the original bundle uses Symfony’s testing tools (e.g., `KernelTestCase`), you’ll need to rewrite tests for Laravel’s testing framework.
- Will this bundle slow down my Laravel app?
- Potentially, if you include Symfony’s full dependency stack (e.g., `symfony/cache`, `symfony/intl`). For Laravel, extract only the essential TicketBAI logic (e.g., API client, validation rules) and avoid pulling in unused Symfony components. Profile performance with Laravel Forge or Blackfire to identify bottlenecks.