2012-01-22 29 views
7

Tôi mới vào khung công tác Yii và tôi muốn biết sự khác biệt giữa $this->render()$this->redirect().
Cả hai có thể được sử dụng để truy xuất một trang nhất định.

Trả lời

11

Dường như họ làm những việc hoàn toàn khác nhau:

  • ->redirect($url, ...)
    redirect hiện một chuyển hướng trang HTTP. Không trực tiếp hiển thị một trang.

  • ->render($view, ...)
    render xuất kết quả được đặt tên. Không chấm dứt yêu cầu PHP hiện tại.

0

Sau khi chuyển hướng, trình duyệt sẽ yêu cầu một trang khác có lệnh gọi render() của riêng nó. Với chuyển hướng, bạn sẽ thấy thay đổi url trong thanh địa chỉ và một trang khác. Trừ khi tất nhiên bạn đang chuyển hướng đến trang mà bạn đã truy cập.

0

-> render ('$ xem', ...)

này là sử dụng tốt hơn khi bạn muốn làm cùng một trang + Nhà nó hành động lưu trữ có nghĩa là nó không thể url trình duyệt thay đổi.

-> chuyển hướng ('$ relative_url', ..)

này là tốt hơn để sử dụng cho chương trình trang khác bởi vì nó thay đổi url cũng như hành động.

Các vấn đề liên quan