codeigniter框架开发中遇到的坑

  1. Controller子文件夹的问题

    目录结构:

     Controllers
         |----star
                |----manage.php
         |----star.php
    

    访问/star/manage的时候,提示对应方法不存在。

    看了下路由类,发现CI是会先找根目录对应的文件存不存在,存在的话直接返回根目录的文件。

        function _validate_request($segments)
        {
            if (count($segments) == 0)
            {
                return $segments;
            }

            // Does the requested controller exist in the root folder?
            if (file_exists(APPPATH.'controllers/'.$segments[0].'.php'))
            {
                return $segments;
            }

            // Is the controller in a sub-folder?
            if (is_dir(APPPATH.'controllers/'.$segments[0]))
            ...

  1. db返回的默认为对象而非数组

     $query = $this->db->get('test');
     $result = $query->result();
    

    上面的语句执行后,result是一个对象,而非数组。
    如果需要使用数组,请使用下面的代码。

     $query = $this->db->get($this->_table);
     $result = $query->result('array');

标签: codeigniter

添加新评论