Đường hầm

Đường hầm

Một đường hầm là một hành trình được cắt thành các bước — một quá trình đăng ký, thanh toán, gia hạn — con đường có thể thay đổi tùy theo câu trả lời của người dùng. Gói nhớ vị trí của từng người dùng, cho phép họ đi qua các bước mà họ có thể thấy, và gửi họ trở lại nơi họ thuộc về khi họ cố gắng bỏ qua.

Một cây con trỏ

Một đường hầm được xây dựng như một cây, không phải một danh sách. Một bước được tiếp cận từ hai vị trí là hai con trỏ, mỗi cái có hash riêng và các giá trị lưu trữ riêng: đó là điều cho phép một nhánh phát triển các bước mà nhánh khác không có, và con đường bạn đã đi, được hiển thị ở cuối mỗi đường hầm, được đọc từ đó.

Một phiên trong cơ sở dữ liệu

Mở một đường hầm tạo ra một phiên, mà phiên trình duyệt chỉ biết đến bằng id của nó. Nó giữ các giá trị mà các bước lưu trữ, và hết hạn một ngày sau bước cuối cùng được hiển thị — hoặc sớm hơn, khi bước đó yêu cầu. Các phiên hết hạn sẽ bị xóa bởi bộ lập lịch, mỗi 15 phút; những phiên hoàn thành và đang chờ được giữ lại.

Nơi mà người dùng có thể đi

Mỗi bước quyết định xem nó có thể được hiển thị hay không và nơi gửi người dùng đi nếu không. Các liên kết và nút được vẽ theo cùng một quy tắc, vì vậy một liên kết không bao giờ dẫn đến việc chuyển hướng lại: không có nút tiếp theo nơi con đường chia tách, không có cách nào quay lại sau một khoản thanh toán, không có gì để quay lại trong một phiên đã đóng.

Những gì cần xem khi đi bộ

Bảng điều khiển Nơi bạn đứng, những gì ở phía sau, những gì ở phía trước. Một khoảng trống đánh dấu nơi con đường phụ thuộc vào một sự lựa chọn chưa được thực hiện.
Phía sau bước này Dưới mỗi bước, những gì động cơ vừa làm, và trạng thái của nó: con trỏ, cách bước hoàn thành, phiên và khi nào nó hết hạn.
Bảng công cụ phát triển và shell Tab Đường hầm của bảng công cụ phát triển vẽ phiên của trình duyệt này trên bản đồ của đường hầm của nó; bin/console tunnels:info làm điều tương tự từ một shell.