使用SlimPhp的Rest API需要花费太多时间

时间:2017-01-10 13:34:08

标签: php rest api slim

我开发了一个使用php和slim的REST API,我正在尝试优化它,对于一个简单的空请求,我每秒有56个请求,如果我不使用slim我有259r / s。

如何使用Slim

达到259r / s

- Index.php

use \Slim\App;

$container=include('Config/Container.php');
$app = new App($container);
$app->get('/metro',function(){
echo "metro";
});

- container.php

$config = [
    'settings' => [
        'displayErrorDetails' => true,
        'mode'=>'developpement',
        'determineRouteBeforeAppMiddleware' => true,
        'addContentLengthHeader' => false,
    ]
];

.htacess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
php_flag display_errors 1

1 个答案:

答案 0 :(得分:0)

根据定义,所有框架都比无代码慢,因为还有更多的框架。

<?php
echo 'metro';

将比使用此代码的Slim应用程序快得多:

use \Slim\App;

$config = include 'Config/Container.php';
$app = new App($config);
$app->get('/metro', function($request, $response){
    return $response->write("metro");
});

$app->run();

这是因为Slim应用程序正在做更多工作以使其能够响应不同的URL(路由)并处理错误情况。如果您转到/foo网址,那么第一个代码块将不会发回404。

要进行比较,您需要制作&#34;非框架&#34;版本具有与Slim版本相同的功能。性能差异将小得多。