gpt4 book ai didi

php - Codeigniter 显示错误页面而不是异常错误

转载 作者:行者123 更新时间:2023-12-03 08:28:52 25 4
gpt4 key购买 nike

这是我的代码

public function movieInfo($movieId = null) {

// get the data
$movie = $this->repository->load($movieId);

$this->set_title(null);

$data = $this->includes;

$content_data = array(
'movie' => $movie,
);

$data['content'] = $this->load->view('movie/movie_info', $content_data, true);
$this->load->view($this->template, $data);

}

当我浏览到 http://tmdb.instaplace.me/movie/movieinfo/76341它显示了我的页面

但是当我浏览到 http://tmdb.instaplace.me/movie/movieinfo/0

当错误报告设置为开发时,它显示一个未捕获的异常页面,否则它显示一个空白页面

而不是在开发中显示空白页面或未捕获的异常我想显示一个页面,例如“ID不存在”或404页面
但我的问题是我不知道该怎么做,我正在使用这个
php-tmdb wrapper
$movieId变量是来自 themoviedb.org 的 id,用于根据 id 查找电影

最佳答案

if( !  $movie = $this->repository->load($movieId) ){

$this->_showMovieNotFoundFor($movieId) ; }

else{ $this->_showFound($movie) ; }

针对问题进行编辑 ====

您必须自己创建 _show 方法。这个想法是您只是在检查电影是否从数据库中返回。在 Controller 中越简单,您的方法就越容易维护。除非 Controller 中的方法必须是公共(public)的,否则请始终将它们设为私有(private)。在 codeigniter 中,您可以在方法名称前加一个下划线以使其私有(private)。所以代码
 if( !  $movie = $this->repository->load($movieId)

所以如果 $movie 没有从数据库中返回 - 然后转到
$this->_showMovieNotFoundFor($movieId) ;

我包括 $movieId 以防错误消息需要它。

否则你从数据库中得到 $movie 所以去
$this->_showFound($movie) ;

如果我们只是粘贴您的代码,它将类似于
   function _showFound($movie){

$this->set_title(null);

$data = $this->includes;

$content_data = array(
'movie' => $movie,
);

$data['content'] = $this->load->view('movie/movie_info', $content_data, true);
$this->load->view($this->template, $data);

}

关于php - Codeigniter 显示错误页面而不是异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147080/

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