【问题标题】:Restler mapping protected methodsRestler 映射受保护的方法
【发布时间】:2012-05-30 11:59:26
【问题描述】:

我正在使用 Restler 2.1.5,并且我有一个索引方法受保护的类。

protected function index($id){
//do something
}

我添加了新的受保护方法,但无法调用该方法。

protected function method(){
//do stuff
}

当我打电话给http://localhost/api/index.php/class?key=foo 一切正常

但是当我打电话时 http://localhost/api/index.php/method?key=foo 它让我找不到

这是什么原因造成的?

【问题讨论】:

    标签: php restler


    【解决方案1】:

    那是因为你看错地方了!

    请尝试以下网址

    http://localhost/api/index.php/class/method?key=foo

    如果您不将''(空白字符串)作为第二个参数传递给$r->addAPIClass(),类的名称将包含在路由中,因此您也需要将其包含在您的url中

    您还应该了解优先级的模糊性和顺序,阅读this thread会对您有所帮助

    【讨论】:

    • 还是不行。在示例中,在Simple类中的_005_protected_api中,如果添加:protected function index($a){ return "hello".$a; },然后如果调用localhost/examples/_005_protected_api/index.php/simple/…,则会返回hellorestricted,也就是说,它正在调用索引方法因为@987654329 @ 作为参数,它总是会调用索引方法,即使我指明了方法名称。我说的对吗?
    • 这是优先问题的顺序。我已经用解决方案的链接更新了我的答案
    猜你喜欢
    • 1970-01-01
    • 2014-06-26
    • 2020-03-31
    • 2016-02-19
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2020-07-26
    相关资源
    最近更新 更多