الأنفاق

الأنفاق

النفق هو رحلة مقسمة إلى خطوات — تسجيل، دفع، تجديد — يمكن أن يتغير مسارها بناءً على إجابات الزائر. يحتفظ النظام بمكان كل زائر، ويسمح لهم بالمرور عبر الخطوات التي قد يرونها، ويرسلهم إلى حيث ينتمون عندما يحاولون التقدم.

شجرة المؤشرات

يتم بناء النفق كشجرة، وليس كقائمة. الخطوة التي تصل من مكانين هي مؤشرين، كل منهما له هاش خاص به والقيم المخزنة الخاصة به: هذا هو ما يسمح لفرع بتطوير خطوات لا يمتلكها فرع آخر، وما يقرأ من الطريق الذي جئت منه، والذي يظهر في نهاية كل نفق.

جلسة في قاعدة البيانات

فتح نفق ينشئ جلسة، يعرفها جلسة المتصفح فقط من خلال معرفها. يحتفظ بالقيم التي تخزنها الخطوات، وتنتهي بعد يوم من آخر خطوة تم عرضها — أو في وقت أقرب، عندما تطلب تلك الخطوة ذلك. يتم حذف الجلسات المنتهية من قبل المجدول، كل 15 دقيقة؛ وتُحتفظ بالجلسات المكتملة والمعلقة.

أين يمكن للزائر الذهاب

كل خطوة تقرر ما إذا كان يمكن عرضها وأين يتم إرسال الزائر في حالة أخرى. يتم رسم الروابط والأزرار بنفس القواعد، لذا فإن الرابط لا يؤدي أبداً إلى إعادة توجيه إلى الوراء: لا يوجد زر التالي حيث يتفرع الطريق، لا عودة بعد الدفع، لا شيء للعودة إليه في جلسة مغلقة.

ماذا تنظر أثناء السير

المؤشر أين تقف، ما هو خلفك، ما هو أمامك. فجوة تحدد أين يعتمد الطريق على خيار لم يتم اتخاذه بعد.
خلف هذه الخطوة تحت كل خطوة، ما فعله المحرك للتو، وحالته: المؤشر، كيف تكتمل الخطوة، الجلسة ومتى تنتهي.
شريط أدوات التطوير والصدفة علامة التبويب الأنفاق في شريط أدوات التطوير ترسم جلسة هذا المتصفح على خريطة نفقه؛ bin/console tunnels:info يفعل نفس الشيء من الصدفة.