2011-12-20 35 views
9

Tôi đã đọc số CakePHP's 2.0 migration guide nơi thông báo rằng cakeError() đã bị xóa vì nó được sử dụng cho trường hợp ngoại lệ. Đó là một IMHO thay đổi thực sự kỳ lạ bởi vì tôi đã sử dụng nó để chặn quyền truy cập vào người dùng trái phép hoặc kích hoạt lỗi khi các mục được phân trang vượt quá tổng số và những thứ tương tự.Kích hoạt lỗi 404 với CakePHP 2.0?

Và giờ thì sao? Tôi có nên ném die() hoặc chuyển hướng không? Tôi thực sự muốn cho người dùng biết rằng một cái gì đó đã không được tìm thấy và Bánh được sử dụng để provie một cách stright để làm như vậy ... bây giờ nó không.

Bất kỳ suy nghĩ/hack/giải pháp nào về nó? Cảm ơn, ngày lễ vui vẻ!

Trả lời

12

Bạn phải ném ngoại lệ tương ứng, trong trường hợp của bạn NotFoundException:

throw new NotFoundException(); 

Xem thêm chương về exceptions trong cuốn sách nấu ăn.

+0

Cảm ơn bạn! Tôi không thấy các ngoại lệ tích hợp. Chúc mừng ngày lễ! – metrobalderas

0

thử này

if ($this->Session->read('Auth.User.role') == 'P' || $this->Session->read('Auth.User.role') == 'U') { 
      //die('you are not allowed to access this page'); 
      //throw new ForbiddenException; 
      throw new NotFoundException('404 Error - Page not found'); 
     }