如何发送删除请求到菲尔·urge鱼-Codeigniter-restserver - php

如标题所示,我将Codeigniter与phil sturgeon一起使用-codeigniter-restserver框架。

我已经按照Nettus上的教程进行操作,并且一切正常,但发送DELETE请求时除外。

码:

<?php
require(APPPATH.'libraries/REST_Controller.php');

class Client extends REST_Controller{

function user_get()
{
    $data = array('returned:'=> $this->get('id'));
    $this->response($data);
}

function user_post()
{
    $data = array('returned:'=> $this->post('id'));
    $this->response($data);
}

function user_put()
{
    $data = array('returned:'=> $this->put('id'));
    $this->response($data);
}

function user_delete()
{
    $data = array('returned from delete:'=> $this->delete('id'));
    $this->response($data);
}
}

我正在使用一个称为HTTP Resource test的FF插件来发送请求,但是当我使用以下URL发送一个DELETE请求时:http://localhost/api/client/user/id/1,我得到{“从delete中返回:”:false}

附带说明:我找到了这个post并使用'X-HTTP-Method-Override'标头并将其作为发布请求发送,我能够获取ID,但是我提供了一种客户端没有的方式添加此标头。

参考方案

根据HTTP规范,DELETE无法发送参数。它可以在URL中包含内容,因此您可以将其更改为:

public function user_delete($id)
{
    $this->response(array(
        'returned from delete:' => $id,
    ));
}

CodeIgniter:“无法重新声明类” - php

诚然,我的OOPHP有点不稳定,但是我看不出这是怎么回事。在我的一个控制器中,我包括一个utils工作表,该表与该控制器一样,扩展了基本的CI_Controller类。这将引发致命错误:Fatal error: Cannot redeclare class Utils in {file path}\utils.php on line 88 控制器:class…

CodeIgniter ODBC问题 - php

好吧,我已经构建了一个用于MSSQL的应用程序,最初以这种方式运行它,我购买了一台新计算机,出于某种奇怪的原因,它不允许我通过MSSQL连接。因此,我设置了ODBC。它连接良好,但似乎讨厌活动记录。我将不得不重写所有查询吗?还是我想念的东西。我收到这样的错误。A Database Error Occurred Error Number: 37000 [Mic…

Codeigniter URI路由和安全性 - php

在codeigniter或restful结构中,页面可以通过URI路由到例如,如果我想查看id:1的项目列表,那么我只需要创建一个类似这样的路径:domain.com/item/view/1 并在控制器中function view() { $id = $this->uri->segment(3); //database get data and …

阻止执行控制器 - php

我有一个在MY_Controller中运行的ACL。如果权限被拒绝,那么目前,我只是执行redirect('denied')-这是一个非常基本的控制器,它加载了一个非常基本的视图,显示“权限被拒绝”。但是,我想做的仍然是加载最初请求的uri,但加载“拒绝”视图而不是默认视图。我可以在MY_Controller中执行此操作,并且拒绝视图加载…

如何在PHP中检查数组是否为空(Codeigniter) - php

这是我的代码示例:public function show($imei,$start_time,$end_time,$dateto) { $from_time = str_replace('-','/',$start_time); $fromi=strtotime($from_time . ' ' …