Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/always-open/sidekick


https://github.com/always-open/sidekick

hacktoberfest helper laravel

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# A collection of helper classes to make fighting the good fight easier

[![Latest Version on Packagist](https://img.shields.io/packagist/v/always-open/sidekick.svg?style=flat-square)](https://packagist.org/packages/always-open/sidekick)
[![GitHub Tests Action Status](https://img.shields.io/github/workflow/status/always-open/sidekick/run-tests?label=tests)](https://github.com/always-open/sidekick/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/workflow/status/always-open/sidekick/Check%20&%20fix%20styling?label=code%20style)](https://github.com/always-open/sidekick/actions?query=workflow%3A"Check+%26+fix+styling"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/always-open/sidekick.svg?style=flat-square)](https://packagist.org/packages/always-open/sidekick)
[![Maintainability](https://api.codeclimate.com/v1/badges/49ee42b487aad513866f/maintainability)](https://codeclimate.com/github/always-open/sidekick/maintainability)

Collection of helper classes to make fighting the good fight even easier.

## Installation

You can install the package via composer:

```bash
composer require always-open/sidekick
```

## Version Support
| Sidekick version | PHP Version |
|------------------|-----------------|
| 1.x | PHP 7.4 and 8.x |
| 4.x | PHP 8.x+ |

## Usage

### Helpers

#### String Helper
```php
$ids = AlwaysOpen\Helpers\Strings::stringIdsToCollection('1,3,45, asdf,66,1,45,3');
var_dump($ids);
```
#### Routes Helper
This helper stops redirect loops where a `url()->previous()` might be used but the user could have directly input the
url so `previous` and `current` are the same. This helper stops that from happening while allowing you to specify where
to go if that scenario happens.

If the user can edit user profiles and reach it from multiple screens the redirect response after saving might look like
this:
```php
return response()->redirectTo(
AlwaysOpen\Helpers\Routes::toRouteIfBackIsLoop('user.report')
);
```

Here the user will either go to their previous URL or get sent to the user report.

### Traits

#### ByName
Add the trait to your model:
```php