你可以這樣做的一種方法是在你的根目錄下用index.php文件創建一個api目錄來處理你的api請求。因此,在您的公共/ index.php文件,你可以添加:
// public/index.php
chdir(dirname(__DIR__));
require_once 'vendor/autoload.php';
// api domain so include the api routes
if ($_SERVER['HTTP_HOST'] == "api.domain.com") {
require 'api/index.php';
exit;
}
// --------------------------------------------
// non api domain
$app = new Slim\App;
$app->get('/',function($request,$response) {
return $response->write("I'm not the API site!");
});
$app->run();
然後在API/index.php文件單獨處理您的API路線:
// api/index.php
$app = new Slim\App;
$app->get('/',function($request,$response) {
return $response->withJson('base api');
});
$app->group('/game',function() {
$this->get('',function($request,$response) {
return $response->withJson('Select a game');
});
$this->get('/space-invaders',function($request,$response) {
return $response->withJson('Space Invaders API');
});
$this->get('/pacman',function($request,$response) {
return $response->withJson('Pac Man API');
});
});
$app->run();
來源
2017-03-23 20:03:13
Rob
如果您的應用程序alreay解釋/ api端點,爲什麼要使用子域? –
嗨!我想在未來將應用程序,遊戲結果,arduino和開放數據添加到此api中,並且我在** www.domain.com **上有一個網站。我更喜歡有** api.domain.com/game/space-invaders **這樣的地址,而不是** www.domain.com/api/game/space-invaders ** – Seb00ch