Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该如何处理Codeigniter应用程序中的错误_Php_Codeigniter_Error Handling - Fatal编程技术网

Php 我应该如何处理Codeigniter应用程序中的错误

Php 我应该如何处理Codeigniter应用程序中的错误,php,codeigniter,error-handling,Php,Codeigniter,Error Handling,好的,我的问题是一个最佳实践/技术问题,所以我假设会有一些不同的方法来处理这个问题 那么,我应该在多大程度上考虑错误处理?例如,假设我的模型中有一个基本函数,用于检索客户记录 function get_customer($customer_id) { $this->where('id',$customer_id); $query = $this->db->get('customers'); return $query->result(); }

好的,我的问题是一个最佳实践/技术问题,所以我假设会有一些不同的方法来处理这个问题

那么,我应该在多大程度上考虑错误处理?例如,假设我的模型中有一个基本函数,用于检索客户记录

function get_customer($customer_id) {

    $this->where('id',$customer_id);
    $query = $this->db->get('customers');

    return $query->result();

}
我是否应该输入一些内容来检查参数$customer\u id是否存在,以及类型是否正确?还是取决于应用程序的逻辑?例如,在某些情况下,除非设置了$customer\u id,并且可能会在控制器中进行检查,否则永远不会调用此函数,但在此处也包括错误检查是最佳做法吗


另外,我应该使用类似try/catch和throw这样的异常,还是可以像($customer\u id!='')等一样简单?

您是从控制器使用上述函数,对吗?要确保变量
$customer\u id
的类型正确且包含您期望的内容,最好的方法是在控制器中进行检查,然后再将其发送到模型。控制器使您能够通过重定向或其他方式显示错误。

您正在控制器上使用上述功能,对吗?要确保变量
$customer\u id
的类型正确且包含您期望的内容,最好的方法是在控制器中进行检查,然后再将其发送到模型。控制器使您能够通过重定向或其他方式显示错误。

这是另一种说法,即错误检查总是只在必要时进行?e、 g.如果变量可以假定为正确的值类型,它可能来自选择字段,我们不需要检查它?但即便如此,如果我们确实需要在控制器中进行检查,那么肯定会产生大量冗余代码。精益控制器/脂肪模型-粉丝不会同意您的解决方案,然后。。。或(问这个问题是因为我自己不知道)两件事,仅仅因为POST数据来自一个框并不意味着你不必检查它。对于一个知识渊博的用户来说,在该字段中发送不在您的原始s中的信息是微不足道的。虽然
form_validation
库在控制器中非常好,应该使用,但您的模型中也应该有验证。模型应该是可重用的,可能会跨多个控制器,所以不要依赖控制器来始终清理/验证数据,这是表示错误检查总是只在必要时进行的另一种方式?e、 g.如果变量可以假定为正确的值类型,它可能来自选择字段,我们不需要检查它?但即便如此,如果我们确实需要在控制器中进行检查,那么肯定会产生大量冗余代码。精益控制器/脂肪模型-粉丝不会同意您的解决方案,然后。。。或(问这个问题是因为我自己不知道)两件事,仅仅因为POST数据来自一个框并不意味着你不必检查它。对于一个知识渊博的用户来说,在该字段中发送不在您的原始s中的信息是微不足道的。虽然
form_validation
库在控制器中非常好,应该使用,但您的模型中也应该有验证。模型应该是可重用的,可能跨多个控制器,所以不要总是依赖控制器来清理/验证数据