codeigniter框架开发中遇到的坑
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]))
...
db返回的默认为对象而非数组
$query = $this->db->get('test'); $result = $query->result();
上面的语句执行后,result是一个对象,而非数组。
如果需要使用数组,请使用下面的代码。$query = $this->db->get($this->_table); $result = $query->result('array');