【问题标题】:Codeigniter request control classCodeigniter 请求控制类
【发布时间】:2010-09-05 16:15:20
【问题描述】:

我正在尝试为自己做一个简单的请求控制库。

这是我的代码:

class CI_Request
{
    public function isAjax()
    {    
        return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
    }

    public function isPost()
    {
        return isset($_POST);
    }

    public function isGet()
    {    
        return isset($_GET);
    }
}

但我不知道我是否正确。

有什么建议吗? :P

非常感谢

【问题讨论】:

    标签: php codeigniter httpwebrequest helpers


    【解决方案1】:

    首先你的问题很模糊。

    您需要首先了解 Helpers 和 Libraries 是框架内的两个独立实体

    助手,顾名思义,帮助 你有任务。每个帮助文件是 只是一个函数的集合 特定类别。有网址 助手,帮助创建 链接,有表单助手 帮助您创建表单元素,文本 助手执行各种文本 格式化例程,Cookie 助手 设置和读取 cookie,文件助手 帮助您处理文件等。

    而库通常是一个类,它是处理特定任务的方法的集合,这就是为什么我认为库是您所寻找的。​​p>

    您可以在应用程序目录的application/libraries 中创建一个库文件,并创建一个名为MyRequest.php 的文件,该文件的内容将是这样的......

    class CI_MyRequest
    {
       //..
    }
    

    文件名和类名是相对的,所以它们必须相同,从控制器加载库很简单

    class Index extends Controller
    {
        public function __construct()
        {
            $this->library->load('MyRequest');
        }
    
        public function index()
        {
            if($this->MyRequest->isAjax())
            {
                //.. Send me some json.
            }
        }
    }
    

    注意:好久没接触 CI,所以代码可能不准确。

    【讨论】:

    • 并在我的控制器中检索,就像您解释的那样;)
    • 可以根据你的配置文件将库重命名为MY_MyRequest
    • 我已将其重命名为 My_Request 我的库并尝试将其加载为“请求”库,但它仍然无法正常工作:( 真的很感谢 :(
    • 在您的配置中查看您的 library_prefix,如果是,则可能是 MY_,并且相应地命名了该类,并且该文件在库目录中被命名,它应该可以正常工作
    猜你喜欢
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2014-04-26
    • 2012-12-08
    • 1970-01-01
    • 2018-09-02
    • 2016-05-07
    相关资源
    最近更新 更多