gpt4 book ai didi

php - 您如何调试 CodeIgniter 应用程序?

转载 作者:行者123 更新时间:2023-12-04 20:49:33 27 4
gpt4 key购买 nike

我按照教程中的步骤学习如何使用 Code Igniter 构建 PHP/MySQL 应用程序,完成后应用程序失败且没有错误。我使用的是 TextMate 而不是功能齐全的 IDE。

大多数使用 Code Igniter 的开发人员如何调试他们的应用程序?框架中是否有一些东西可以将错误和堆栈跟踪发送到浏览器 session 中?

我现在想解决的具体问题似乎与数据库有关。我配置了我的数据库,设置了 autoload.php,并创建了一个用于处理表数据的 Controller 和模型,以及一个用于呈现它的 View 。从我的accounts_model.php:

 public function getData()  
{
//Query the data table for every record and row
$query = $this->db->get('accounts');

if ($query->num_rows() > 0)
{
show_error('Database is empty!');
}
else
{
return $query->result();
}
}

当我运行应用程序时,我看到“遇到错误\n数据库为空!”。由于我知道数据库不为空且配置正确,因此我需要框架中的某些内容来提示我是否连接到数据库或查询为何为空。

最佳答案

一个好的做法是将关键代码包含在 try/catch 块中,以便您可以处理异常,然后记录该错误的堆栈跟踪。根据我最近的经验,我使用 try/catch 块以及 CodeIgniter 提供的 show_error() 函数来调试和捕获代码中的错误。下面是一个例子:

public function getData()  
{
//Query the data table for every record and row
try{
$query = $this->db->get('accounts');

if ($query->num_rows() > 0)
{
show_error('Database is empty!');
}
else
{
return $query->result();
}
} catch(Exception $e){
log_message('debug',$e->getMessage()); // use codeigniters built in logging library
show_error($e->getMessage()); // or echo $e->getMessage()
}
}

PHP Exception 类提供了各种方法来帮助调试您的错误。 http://www.php.net/manual/en/class.exception.php

关于php - 您如何调试 CodeIgniter 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260625/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com