मैं PHP और MySQL में एक मेनू सिस्टम बना रहा हूँ। मेरे पास कई अलग-अलग मेनू होंगे और प्रत्येक मेनू में मेनू से जुड़े आइटम होंगे।
साइट पर, मेरे पास अलग-अलग उपयोगकर्ता अनुमतियां हैं, कुछ उपयोगकर्ता सभी मेनू आइटम देख सकते हैं और कुछ आइटम कुछ उपयोगकर्ताओं से छिपे हुए हैं। मैं इस बात को लेकर उत्सुक हूं कि मैं साफ-सुथरे तरीके से अनुमतियों को कैसे संभाल सकता हूं जो भविष्य में अधिक प्रकार के उपयोगकर्ताओं को आसानी से जोड़ने की अनुमति देगा।
इस प्रकार मेरे पास अभी तक कुछ इस तरह है:
-------------------
|Menus
-------------------
|id| |display name|
-------------------
----------------------------------------------------------
|Menu items
----------------------------------------------------------
|id| |menu_id| |label| |link| |parent| |sort| |permission|
----------------------------------------------------------
मैं सोच रहा हूं कि permission
स्तंभ या तो एक अल्पविराम से अलग स्ट्रिंग हो सकता है जिसे मैं वर्तमान उपयोगकर्ता की अनुमति आईडी के खिलाफ मैच कर सकता हूं। यह किसी अन्य तालिका का संदर्भ भी हो सकता है जो वर्तमान में मौजूद अनुमतियों के सभी संभावित संयोजनों को परिभाषित करता है।
एक समाधान केवल कई मेनू आइटमों को संग्रहीत करने के लिए हो सकता है जहां एकमात्र अंतर अनुमति है, हालांकि यह डुप्लिकेट भंडारण और शायद एक दर्द को प्रशासित करेगा।
मैं इस संरचना को कैसे और स्वच्छ, गतिशील और भद्दा माना जा सकता है, इस पर कुछ विचार सुनना पसंद करूंगा।
धन्यवाद।