pderas / shambles
A hashing library that will generate and add hashes to your laravel models.
Installs: 26 434
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 1
Requires
- php: >=5.5.9
- illuminate/database: >=5.1
- illuminate/routing: >=5.1
- illuminate/support: >=5.1
README
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.