- How do I install gomoob/php-pushwoosh in a Laravel project?
- Install it with Composer using composer require gomoob/php-pushwoosh. It is a thin PHP SDK rather than a Laravel-native package, so it will not register a Laravel service provider automatically. Create your own wrapper or container binding and validate its Composer constraints against your Laravel and PHP versions in a non-production spike. If dependency conflicts appear, plan to fork the package or replace it with a small first-party REST client.
- Does gomoob/php-pushwoosh support Laravel 10 and PHP 8.1?
- Official compatibility is not guaranteed. The package had its last release in 2017 and may pin old Guzzle or PHP constraints that conflict with modern Laravel and PHP 8.1+ applications. Run a time-boxed Composer spike against your exact stack before committing. If conflicts or runtime errors appear, a fork or a minimal Laravel HTTP client implementation is the safer path.
- Is gomoob/php-pushwoosh actively maintained?
- No, project activity is low and the last release was in 2017. Treat it as unmaintained unless your team forks it and takes ownership. Expect community-only support for the package, with separate Pushwoosh vendor support for the API itself. Budget for eventual replacement even if the MIT license is permissive.
- How do I send a push notification with gomoob/php-pushwoosh in Laravel?
- Wrap the SDK behind an application-owned interface such as PushwooshGateway and bind it in Laravel's service container. Store Pushwoosh credentials in config and environment variables, build an application-owned DTO for the message payload, and dispatch sends through queued jobs. Avoid calling the SDK synchronously in controllers or request paths. Add structured logging around sends so failures and latency are visible.
- What are the risks of using gomoob/php-pushwoosh in production?
- The main risk is high lifecycle risk: the package is old, may pin outdated Guzzle or PHP constraints, and may lag Pushwoosh API changes. It may also have limited tests and security maintenance, and the MIT license does not remove maintenance risk. Pin the version, run dependency and security scanning, keep the adapter thin, and plan for a fork or replacement. Monitor sends closely and document an internal runbook.
- Can I use gomoob/php-pushwoosh to manage Pushwoosh devices and tags?
- Yes, the library provides an object-oriented API for sending notifications and managing devices, tags, and app settings. Confirm the exact Pushwoosh endpoints and features you need against the package code and current Pushwoosh API documentation. Keep vendor classes out of controllers and domain code by wrapping device and tag operations in your own adapter. This makes later replacement much cheaper.
- How should I handle errors and retries with gomoob/php-pushwoosh?
- Catch SDK exceptions in your adapter, log structured context, and translate errors into application-level results. Use queued jobs with bounded retries and exponential backoff, plus timeout settings that match Pushwoosh API behavior. Be careful with idempotency because retrying push sends can duplicate notifications. Route exhausted retries to a dead-letter queue and monitor error rates, latency, and queue depth.
- What are alternatives to gomoob/php-pushwoosh for Laravel?
- Because the package is a REST wrapper, a small first-party client using Laravel's HTTP client for only the Pushwoosh endpoints you need is often the lowest-risk alternative. You can also fork gomoob/php-pushwoosh under an internal namespace and maintain it yourself, or evaluate another maintained Pushwoosh SDK if one exists. Keep the integration behind an application-owned interface so switching implementations stays contained.
- How do I configure Pushwoosh credentials with gomoob/php-pushwoosh in Laravel?
- Put the Pushwoosh application ID, auth token, and any other secrets in environment variables and Laravel config, never in code. Bind a configured client instance through a service provider or a dedicated factory. Document a credential rotation runbook and avoid committing secrets to the repository. Use the same config path for local, staging, and production while keeping values environment-specific.
- Can I test gomoob/php-pushwoosh integration without sending real notifications?
- Use a Pushwoosh sandbox or test application if available, and mock your application-owned gateway interface in unit tests. Add contract tests against the sandbox with test device tokens to verify request shapes, error handling, and timeout behavior. Do not use production credentials or real user tokens in automated tests. This approach keeps tests fast while still catching integration regressions.