如何拥有一个“;家;当所有内容都通过index.php路由时的页面


How to have a "home" page when all is routed through index.php

我正在努力解决如何将Restler与网站集成的问题。如果我们举一个最简单的例子:helloworld,它要求.htaccess通过index.php路由所有内容。但如果我的主页需要驻留在那里呢?例如,我如何简单地:

  1. 当用户进入我的网站时,有一个"主页"
  2. 继续,也许这个页面上有一个表格,他们可以在restler中提交给我的班级

文档中有一个表单示例,但它非常复杂,需要使用其他框架。我想从简单开始。目前,如果我按照helloworld的例子,但选择进入我的网站主页mysite.org/index.php,我会得到错误

"{
    "error": {
      "code": 404,
      "message": "Not Found"
    },
    "debug": {
      "source": "Routes.php:436 at route stage",
      "stages": {
         "success": [ "get" ],
         "failure": [ "route", "negotiate", "message" ]
      }
    }
}".

如何使index.php成为访问者可以使用的东西?

创建一个要映射到网站根目录的类。例如家庭级

class Home {
   public function index(){
       return "The content for root";
   }
}

然后当添加Home类时,将其映射到根

$r = new Restler();
$r->addAPIClass('Home',''); //second parameter is the path to map it to where blank means root
...

现在,您的api根将使用"The content for root" 进行响应

我总是将与restler相关的东西安装到我的网站名为API的子目录中,而.htaccess就是在这里进行重写的。这样,我的网站仍然是一个"正常"的网站,然后所有API的东西都生活在自己的目录中。