smpita/makeas

Typed Container Resolver for Laravel

1.1.1 2023-10-05 22:51 UTC

This package is auto-updated.

Last update: 2024-11-05 00:27:18 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status FOSSA Status Total Downloads

  • Do you fight the mixed signature of app()->make() when resolving objects?
  • Do you want to effortlessly guarantee the resolved object is the expected object?
  • Do you use static analysis on your Laravel app?

MakeAs will make sure you make the object you expect, and nicely type the return for static analysis.

Installation

You can install the package via composer:

composer require smpita/makeas

Usage

If you bound an object to its class-string

$typed = app()->makeAs(Bound::class);

Of course, you can pass in parameters

$typed = app()->makeAs(Bound::class, []);

If you bound an object with a magic string

$typed = app()->makeAs('magic-string', [], Bound::class);

Signature

makeAs(string $abstract, array $parameters = [], string $expected = null): mixed

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

FOSSA Status