pderas/shambles
| Install | |
|---|---|
composer require pderas/shambles |
|
| Latest Version: | v3.0.2 |
| PHP: | >=5.5.9 |
| License: | MIT |
| Last Updated: | Jul 5, 2021 |
| Links: | GitHub · Packagist |
Shambles
composer require pderas/shambles
Table Of Contents
About
This package is designed for Laravel that adds a hash value to a model into the database.
Installation
Requirements
To use this package, the following requirements must be met:
Instructions
Once you have succesfully required the package, (v5.3 only) you must register the service provider in your config/app.php file.
Pderas\Shambles\ShamblesServiceProvider::class,
Usage
If you would like a config file for shambles to define defaults for all models.
php artisan vendor:publish --provider="Pderas\Shambles\ShamblesServiceProvider"
Back End
To use shambles you must make add a column 'hash' to the desired models in the database.
e.i. in a migration somewhere...
class MyMigration extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('my_table', function(Blueprint $table) {
$table->string('hash')->unique();
});
}
}
Then all you have to do is add the Trait to the models
use Pderas\Shambles\Traits\ShamblesTrait;
class MyModel extends Model
{
use ShamblesTrait;
$defaultHashSize = 36; // hash length can be set on a per model basis
$defaultRouteKey = 'hash'; // route key can be set on a per model basis (laravel default is 'id', shambles default is 'hash')
...
}
Now whenever you create a new model it will auto add a hash to it. You can then use that hash for lookups and obscure the models auto-incrementing id.
Get Request ...
http://localhost/my-model-route/{HASH}
function myModelRouteFn(Request $request, MyModel $my_model)
{
...
$my_model->update(...);
...
}
License
This project is covered under the MIT License. Feel free to use it wherever you like.
Related Packages
Supports Wordpress passwords hashing and checking in Laravel's Hash facade.
Allows you to define what attributes in your Eloquent Model which should be hash...
Replace the BCrypt hashing with native PHP hashing algorithm for Laravel.
This is a package for wrapping PBKDF2 class and using it in Laravel as a facade