CallableMap and ServiceLocatorAwareCallableResolver enable on-demand handler resolution, reducing memory overhead for unused queries—a critical feature for Laravel apps with many potential but rarely used queries (e.g., analytics, reporting).FindUserByEmail) over ad-hoc SQL or repository calls, improving testability and collaboration (queries become self-documenting).Cache facade, the package lacks native caching middleware. Mitigation: Implement a custom middleware (e.g., CacheQueryResultMiddleware) using Laravel’s cache drivers.ClassBasedNameResolver vs. NamedMessage). Mitigation: Enforce a naming convention (e.g., Query suffix) in team guidelines.User::where()->get()) to the bus?ServiceLocatorAwareCallableResolver integrates seamlessly with Laravel’s IoC container. Query handlers can be registered as services (e.g., app:bind) and resolved dynamically.QueryHandled) via Laravel’s event system for observability or side effects.Mockery) can easily stub the query bus and its middleware for unit/integration tests.// Before (ad-hoc)
$users = User::where('active', true)->with('orders')->get();
// After (query bus)
$query = new FindActiveUsersWithOrders();
$users = $queryBus->handle($query, $result);
class FindActiveUsersWithOrders implements NamedMessage {
public static function messageName(): string { return 'find_active_users_with_orders'; }
}
$queryBus->appendMiddleware(new CacheQueryResultMiddleware(
Cache::store('redis'),
60 // TTL in seconds
));
deprecated attribute to flag old patterns for removal.simple-bus/message-bus (v2.x). Ensure version compatibility with Laravel’s PHP version (8.0+).handle() (for DDD-style handlers).App\Services\FindUserHandler).simple-bus/message-bus and ajgl/simple-bus-query-bus.CatchReturnMessageBusSupportingMiddleware and DelegatesToMessageHandlerAndCatchReturnMiddleware.CallableMap.MessageNameResolver (e.g., ClassBasedNameResolver).$queryBus->handle($query, $result).Queries directory) to track all read operations.BenchmarkQueryMiddleware).CallableMap.How can I help you explore Laravel packages today?