SlimPHP - 有没有办法将 CorsSlim 与 Slim v3 一起使用?
SlimPHP - is there way to use CorsSlim with Slim v3?
我一直坚持制作 REST API,前端使用 AngularJS,后端使用 SlimPHP。当我仅使用 $http.get 和 $http.post 时一切正常,但不适用于 $http.delete 和 $http.put。
我设置了 headers:
$app = new \Slim\App();
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
但这并没有帮助,所以我发现有 CorsSlim 这样的东西,但是当我写这篇文章时:
require __DIR__ . '/vendor/autoload.php';
$app = new \Slim\App();
$app->add(new \CorsSlim\CorsSlim());
即使通过 composer 安装了 slim 和 corsslim,我还是立即遇到了以下问题。
致命错误:在第 5
行的 /wwwpath/vendor/palanik/corsslim/CorsSlim.php 中找不到 Class 'Slim\Middleware'
在他们的 CorsSlim 上 GitHub https://github.com/palanik/CorsSlim 我发现他们将 slim 的版本限制为 <3.0,所以它与我的 Slim 不兼容。
所以,问题是:是否有任何方法可以通过 Angular 和 Slim v3 的 get/post/put/delete 请求来制作这样的 REST API,或者我必须重新制作整个后端部分到 v2 使其工作?
提前致谢。
一定要使用CorsSlim
的slim3
branch:
{
"require": {
"palanik/corsslim": "dev-slim3"
}
}
那么你可以简单地使用它:
<?php
require ('./vendor/autoload.php');
$app = new \Slim\Slim();
$app->add(new \CorsSlim\CorsSlim());
?>
但不要忘记添加选项:
$corsOptions = array(
"origin" => "*",
"exposeHeaders" => array("Content-Type", "X-Requested-With", "X-authentication", "X-client"),
"allowMethods" => array('GET', 'POST', 'PUT', 'DELETE', 'OPTIONS')
);
$cors = new \CorsSlim\CorsSlim($corsOptions);
$app->add($cors);
我一直坚持制作 REST API,前端使用 AngularJS,后端使用 SlimPHP。当我仅使用 $http.get 和 $http.post 时一切正常,但不适用于 $http.delete 和 $http.put。 我设置了 headers:
$app = new \Slim\App();
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
但这并没有帮助,所以我发现有 CorsSlim 这样的东西,但是当我写这篇文章时:
require __DIR__ . '/vendor/autoload.php';
$app = new \Slim\App();
$app->add(new \CorsSlim\CorsSlim());
即使通过 composer 安装了 slim 和 corsslim,我还是立即遇到了以下问题。
致命错误:在第 5
行的 /wwwpath/vendor/palanik/corsslim/CorsSlim.php 中找不到 Class 'Slim\Middleware'在他们的 CorsSlim 上 GitHub https://github.com/palanik/CorsSlim 我发现他们将 slim 的版本限制为 <3.0,所以它与我的 Slim 不兼容。
所以,问题是:是否有任何方法可以通过 Angular 和 Slim v3 的 get/post/put/delete 请求来制作这样的 REST API,或者我必须重新制作整个后端部分到 v2 使其工作? 提前致谢。
一定要使用CorsSlim
的slim3
branch:
{
"require": {
"palanik/corsslim": "dev-slim3"
}
}
那么你可以简单地使用它:
<?php
require ('./vendor/autoload.php');
$app = new \Slim\Slim();
$app->add(new \CorsSlim\CorsSlim());
?>
但不要忘记添加选项:
$corsOptions = array(
"origin" => "*",
"exposeHeaders" => array("Content-Type", "X-Requested-With", "X-authentication", "X-client"),
"allowMethods" => array('GET', 'POST', 'PUT', 'DELETE', 'OPTIONS')
);
$cors = new \CorsSlim\CorsSlim($corsOptions);
$app->add($cors);