PHP CORS (Cross-origin resource sharing) middleware.
- Array, Coding in Native PHP
- Using PSR-7
- PSR-15 Support
- Symfony Support
- Laravel Support
- Lumen Support
- Yii2 Support
- Swoft Framework
- Slim Framework
- ThinkPHP Support
composer require medz/cors
Example:
use Medz\Cors\Cors;
$cors = new Cors($config); // The $config 👉 `config/cors.php` file.
$cors->setRequest($requestType, $request); // The $request is empty array or is `NULL` or $_REQUEST
$cors->setResponse($responseType, $response); // The $response is empty array.
$cors->handle();
$response = $cors->getResponse();
Both $requestType
and $responseType
are of any type that is individually set to support, but if used in a framework, these two values are usually the same. Because you can set it up individually, you can deliver different values depending on your needs to achieve your goals.
The config example:
$config = [
'allow-credentials' => false, // set "Access-Control-Allow-Credentials" 👉 string "false" or "true".
'allow-headers' => ['*'], // ex: Content-Type, Accept, X-Requested-With
'expose-headers' => [],
'origins' => ['*'], // ex: http://localhost
'methods' => ['*'], // ex: GET, POST, PUT, PATCH, DELETE
'max-age' => 0,
];
use Medz\Cors\Cors;
$cors = new Cors($config);
$cors->setRequest('array', $request);
$cors->setResponse('array', $response);
$cors->handle();
$responseHeadersArray = $cors->getResponse();
use Medz\Cors\Cors;
$cors = new Cors($config);
$cors->setRequest('psr-7', $request);
$cors->setResponse('psr-7', $response);
$response = $cors->getResponse();
Because of the interface features provided by this package, you can implement it in a small amount of code in any other framework.
- ThinkSNS A strong community system
The component is open-sourced software licensed under the MIT license.