CORS
PHP CORS (Cross-origin resource sharing) middleware.
Support
- 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
Using
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.
Configure
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,
];
Array
use Medz\Cors\Cors;
$cors = new Cors($config);
$cors->setRequest('array', $request);
$cors->setResponse('array', $response);
$cors->handle();
$responseHeadersArray = $cors->getResponse();
PSR-7
use Medz\Cors\Cors;
$cors = new Cors($config);
$cors->setRequest('psr-7', $request);
$cors->setResponse('psr-7', $response);
$response = $cors->getResponse();
Other
Because of the interface features provided by this package, you can implement it in a small amount of code in any other framework.
Excellent Repositories
- ThinkSNS+ A strong community system
License
The component is open-sourced software licensed under the MIT license.