Skip to content
/ HashId Public
forked from PGSSoft/HashId

Replace your integer url params in Symfony applications and hide under unpredictable strings.

License

Notifications You must be signed in to change notification settings

xtochko/HashId

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PGS Software / HashId

PHP from Packagist Build Status Code Coverage Scrutinizer Code Quality

Symfony bundle for encoding integer route parameters and decoding request parameters with http://www.hashids.org/


Please use this version with Symfony ≥5.0


Replace predictable integer url parameters in easy way:

  • /hash-id/demo/decode/216/30 => /hash-id/demo/decode/X46dBNxd79/30
  • /order/315 => /order/4w9aA11avM

Pros:

  • no need to use extra filters - use {{ url('route_name', {'id': 1}) }} in twig template or $this->generateUrl('route_name', ['id' => 1]); in controller or service
  • Doctrine Converter compatible

Instalation

composer require pgs-soft/hashid-bundle 

Hashids configuration

# config/packages/pgs_hash_id.yaml

pgs_hash_id:
    converter:
        hashids:
            salt: 'my super salt'
            min_hash_length: 20
            alphabet: 'qwertyasdzxc098765-'

Controller configuration

use Pgs\HashIdBundle\Annotation\Hash;

class UserController extends Controller
{
    /**
     * @Hash("id")
     */
    public function edit(int $id)
    {
    //...
    }
    
    /**
     * Process multiple parameters - 'oneMore' will not be processed
     * @Route(name="test", path="/test/{id}/{other}/{oneMore}")
     * @Hash({"id","other"})
     */
    public function test(int $id, int $other, int $oneMore)
    {
    //...
    }
}

You can also check our DemoController.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/PGSSoft/HashId.

About

The project maintained by software development agency PGS Software. See our other open-source projects or contact us to develop your product.

Follow us

Twitter URL Twitter Follow

About

Replace your integer url params in Symfony applications and hide under unpredictable strings.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%