- What Laravel versions does **wire-sileo** support, and how do I check compatibility?
- The package targets Laravel 8.x and above, but verify exact support by checking its `composer.json` for `laravel/framework` constraints. If using Laravel 10+, ensure no breaking changes (e.g., service container updates) conflict with the package’s bindings. Always test in a staging environment before production deployment.
- Can I use **wire-sileo** to replace WordPress or Strapi in a Laravel app?
- Yes, but assess your content needs first. **wire-sileo** abstracts Sileo’s API for Laravel, so it’s ideal for replacing static or semi-static content (e.g., blogs, marketing pages) while keeping business logic in Laravel. For dynamic, transactional data, pair it with Eloquent or use Sileo as a read-only layer. Migrate incrementally to avoid downtime.
- How do I configure API authentication for Sileo in Laravel’s `.env`?
- Store Sileo’s API token or credentials in `.env` under a custom key (e.g., `SILEO_API_TOKEN`). The package likely expects these in its config file (check `config/wire-sileo.php`). Never hardcode secrets—use Laravel’s `env()` helper or Vault for production. Example: `SILEO_API_TOKEN=your_token_here`.
- Does **wire-sileo** handle caching for Sileo API responses to improve performance?
- The package doesn’t include built-in caching, but you can wrap API calls with Laravel’s `Cache` facade (e.g., `Cache::remember()`) to reduce latency. For critical data, use a short TTL (e.g., 5 minutes) and implement stale-while-revalidate logic. Consider queueing non-critical fetches with Laravel Queues for async processing.
- What happens if Sileo’s API is down? Can I fallback to cached data or Laravel’s DB?
- The package lacks native fallback logic, so you’ll need to implement it manually. Use Laravel’s `try-catch` blocks around API calls and serve cached data (via `Cache::get()`) or a static template. For critical apps, add a health check endpoint to monitor Sileo’s API status and trigger alerts via Laravel Horizon or external tools.
- Are there undocumented Sileo API endpoints that **wire-sileo** relies on?
- The package likely documents its supported endpoints in the README, but always cross-reference Sileo’s official API docs for deprecated or private methods. If you encounter undocumented calls, check the package’s source code (e.g., `src/ServiceProvider.php`) for hardcoded URLs. Contact the maintainer if unsure—undocumented endpoints risk breaking with Sileo updates.
- How do I extend **wire-sileo** to add custom Sileo API endpoints or methods?
- Extend the package by binding custom services in Laravel’s `AppServiceProvider`. For example, add a new facade or repository class that extends the package’s base client. Override methods in a child class (e.g., `SileoExtended`) and rebind it in the container. Avoid modifying the package’s core files to preserve updates.
- Can I use **wire-sileo** in a Lumen micro-framework project?
- Yes, but Lumen lacks Laravel’s full service container features (e.g., Facades). You’ll need to manually bind the package’s services in `bootstrap/app.php` and use dependency injection instead of Facades. Test thoroughly, as some Laravel-specific helpers (e.g., `config()`) may not work identically in Lumen.
- What’s the best way to test **wire-sileo** before production deployment?
- Start with unit tests for the package’s core methods (mock Sileo’s API responses using Laravel’s `Http::fake()`). Then test integration by creating a sandbox Sileo instance and validating CRUD operations (e.g., fetch/update content). Use Laravel’s `php artisan test` with Pest or PHPUnit, and simulate API failures to ensure your fallback logic works.
- Are there alternatives to **wire-sileo** for integrating Sileo with Laravel?
- If you need more flexibility, consider building a custom Laravel service provider using Guzzle HTTP client directly to interact with Sileo’s API. For other headless CMS options, explore packages like **spatie/laravel-headless-cms** (for generic APIs) or **laravel-nova** (if using Nova for admin). **wire-sileo** is Sileo-specific, so alternatives may require more setup but offer broader CMS support.