Description
Useful lib to use with your rest api to encode/decode internal id values.
icanhazstring/expressive-hashids-middleware alternatives and similar libraries
Based on the "API" category.
Alternatively, view icanhazstring/expressive-hashids-middleware alternatives based on common mentions on social networks and blogs.
-
API Platform
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time. -
PHP-CRUD-API
Single file PHP script that adds a REST API to a SQL database -
Firebase Admin SDK for PHP
Unofficial Firebase Admin SDK for PHP -
Restler
Simple and effective multi-format Web API Server to host your PHP API as Pragmatic REST and/or RESTful API -
Fusio
Open source API management platform -
Negotiation
Content Negotiation tools for PHP. -
wsdl2phpgenerator
Simple utility and class library for generating php classes from a wsdl file. -
OverblogGraphQLBundle
This bundle provides tools to build a complete GraphQL API server in your Symfony App. -
Hateoas
A PHP library to support implementing representations for HATEOAS REST web services. -
Apigility
An API builder built with Zend Framework 2. -
Pinterest Bot for PHP
This PHP library will help you to work with your Pinterest account without using any API account credentials. -
Symfony DataTables Bundle
DataTables bundle for Symfony -
Symfony GraphQl Bundle
Pure PHP implementation of GraphQL Server โ Symfony Bundle -
HAL
application/hal builder / formatter for PHP 5.4+ -
PSX Framework
PSX is an innovative PHP framework dedicated to build fully typed REST APIs. -
Slack for PHP
A simple PHP package for sending messages to Slack, with a focus on ease of use and elegant syntax. -
Drest
Quickly and easily expose Doctrine entities as REST resource endpoints with the use of simple configuration with annotations, yaml, json or a PHP array. -
chubbyphp-framework
A minimal, highly performant middleware PSR-15 microframework built with as little complexity as possible, aimed primarily at those developers who want to understand all the vendors they use. -
Behapi
Behat extension for those who want to write acceptances tests for apis -
Symfony 2 GraphQl Bundle
GraphQL Bundle for Symfony 2. -
Bearer PHP Client
Bearer client for the PHP programming language -
cidaas SDK for php
With this SDK, you can integrate cidaas smoothly and with minimal effort into your PHP application. It enables you to map the most important user flows for OAuth2 and OIDC compliant authentication. Secure โ Fast โ And unrivaled Swabian. -
phpDoc2pdf
Create PDF formatted documentation for your PHP projects -
mite SDK for PHP
Interact with mite from your PHP application. -
yii2-fractal
A set of utils and actions for build API following JSON:Api specification, based on league/fractal -
Personio SDK for PHP
Interact with Personio from your PHP application. -
laraccess
A Beta/Campaing Manager API built with Laravel -
Eelly framework
Shadon php framework
Cloudways' Black Friday Offer - 1st Choice of Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of icanhazstring/expressive-hashids-middleware or a related project?
Popular Comparisons
README
icanhazstring/expressive-hashids-middleware
PSR-15/PSR-7 compliant middleware using ivanakimov/hashids.php
Install
You can install the expressive-hashids-middleware library with composer:
$ composer require icanhazstring/expressive-hashids-middleware
Workflow
The main purpose of the middleware is to obfuscate internal IDs from the outside world. That said, you don't have to change your internal id handling (like autoincrement in your db) to use this middleware.
Any incoming request in the form of /api/resource/{id}
will be decoded using this middleware.
So for example (default configuration):
/api/user/ABC
(where ABC
is the encoded value) will produce request attributes like this:
$attributes = $request->getAttributes();
/*
[
'id' => 'ABC',
'__hashids_identifier' => 1
]
*/
The middleware won't override attributes! You can use the
HashidsMiddleware::ATTRIBUTE
constant to easy access this attribute.
Usage
Using expressive
Include the HashidsConfigProvider
inside your config/config.php
:
$aggregator = new ConfigAggregator([
...
\icanhazstring\Hashids\HashidsConfigProvider::class,
...
]);
Make sure the HashidsConfigProvider
is included before your autoload files!
Custom configuration
If you want to change parameters of Hashids
, simply provide the
HashidsConfigProvider::CONFIG_KEY
inside your autoload configuration and change the values to your desire.
return [
\icanhazstring\Hashids\HashidsConfigProvider::CONFIG_KEY => [
'salt' => '',
'minHashLength' => 0,
'alphabet' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890',
'resource_identifiert' => 'id'
]
];
Using the strategy
If you want, you can use the hydration/extraction strategy provided to decode/encode data from and into your objects.
To use the strategy, simply use the provided delegator HashidsHydratorDelegatorFactory
and append
it as delegator for your hydrator.
class ConfigProvider
{
public function __invoke(): array
{
return [
'hydrators' => [
'delegators' => [
ArraySerializable::class => [
\icanhazstring\Hashids\Hydrator\HashidsHydratorDelegatorFactory:class
]
]
],
];
}
}