Gần đây tôi đã bắt đầu xây dựng một ứng dụng bằng Zendframework 2, tôi có kinh nghiệm tốt trong ZF1, vấn đề lớn mà tôi đang gặp phải ở đây với ZF2 là với các phiên.Làm thế nào để xóa một thùng chứa phiên trong Zend framework2
Đây là cách tôi tạo vùng chứa phiên.
use Zend\Session\Container;
// tạo chứa Session: (trước đây chúng tôi đã gọi nó như là không gian tên)
$session_user = new Container('user');
$session_user_errors = new Container('usererrors');
$session_user_shares = new Container('usershares');
Bây giờ Giống như này, tôi có một vài container,
tôi có thể xóa một chìa khóa của một container đặc biệt như thế này
// Lấy giá trị từ phiên theo khóa: (lấy giá trị từ không gian tên)
$email = $session_user->offsetGet('email');
// giá trị Setting trong phiên: (set giá trị từ namespace)
$session_user->offsetSet('username', 'abcd');
Bây giờ vấn đề của tôi là để xóa toàn bộ một container được đặt trong nhiều tầng lớp ứng dụng của tôi.
Nếu tôi thử mã dưới đây Thanh toán bù trừ tất cả các vùng chứa phiên của tôi.
$session_user = new Container('user');
$session_user->getManager()->getStorage()->clear();
Tôi muốn chỉ xóa vùng chứa có tên 'người dùng' có nhiều khóa (Tôi không biết tất cả sẽ có gì ở cuối). Có cách nào để đạt được điều này
Tôi biết tôi có thể thực hiện bù đắp trên mỗi khóa nhưng đó không phải là giải pháp tối ưu mà tôi cảm thấy.
Vui lòng đề xuất nếu có cách nào khác để xóa vùng chứa phiên cụ thể.
LƯU Ý: - Tôi không sử dụng bất kỳ các module bên thứ ba như phiên ZfcUser và Akrabat
Cảm ơn trước để ứng phó với thông báo này.
Wow đây là cái mà tôi đã không thử, có vẻ đúng sẽ cố gắng lấy lại, nhưng một số làm thế nào, không có ý nghĩa gì trong cách khung công việc, $ session_user đã là một đối tượng của container được gọi là người dùng một lần nữa nói trong phương pháp rõ ràng để xóa vùng chứa người dùng. Tôi đã thử như thế này trước $ session_user-> getManager() -> getStorage() -> user-> clear(); và có lỗi để tôi kiểm tra và lấy lại cho bạn –
Giải pháp hoàn hảo, cảm ơn phản hồi, Nó hoạt động như nét duyên dáng –