د ویب پراختیا په ساحه کې، په ځانګړې توګه د PHP او MySQL په شرایطو کې، د ټولګیو او شیانو مفهوم د کوډ تنظیم او جوړښت کې مهم رول لوبوي. د ټولګیو یو بنسټیز اړخ د ملکیتونو تعریف کولو وړتیا ده، کوم چې په اصل کې متغیرات دي چې ډاټا لري. کله چې د ټولګیو ډیزاین کول، پراختیا کونکي اکثرا د ځانګړو ملکیتونو لپاره د خصوصي لید ترمیم کونکي څخه کار اخلي. په ټولګي کې د ملکیتونو شخصي کولو هدف دا دی چې ډیټا راټول کړي او ډاډ ترلاسه کړي چې دا یوازې په ټولګي کې دننه او ترمیم کیدی شي.
د ملکیتونو په خصوصي کولو سره، موږ د ډیټا محافظت کچه رامینځته کوو او د ډیټا انکیپسولیشن اصول پلي کوو. دا پدې مانا ده چې د یو څیز داخلي حالت د بهرني لاسرسي څخه پټ دی، او یوازې په ټولګي کې د تعریف شوي میتودونو یا دندو له لارې اداره کیدی شي. دا پوښښ د معلوماتو د غیر ارادي تعدیل یا فساد مخنیوي کې مرسته کوي ، او همدارنګه د اعتراض داخلي حالت بشپړتیا ساتي.
د شخصي ملکیتونو کارولو یوه کلیدي ګټه دا ده چې دا د معلوماتو اعتبار او د مینځلو منطق پلي کولو ته اجازه ورکوي. ملکیتونو ته د لاسرسي کنټرول کولو سره ، موږ کولی شو ډاډ ترلاسه کړو چې په ډیټا کې کوم بدلونونه په ټولګي کې ټاکل شوي ځانګړي مقررات یا محدودیتونه تعقیبوي. د مثال په توګه، که موږ د بانکي حساب نمایندګي یوه طبقه ولرو، موږ کولی شو د حساب بیلانس لپاره شخصي ملکیت تعریف کړو او د پیسو جمع کولو یا ایستلو طریقې چمتو کړو. د بیلانس ملکیت شخصي کولو سره، موږ کولی شو مقررات پلي کړو لکه د منفي بیلانس اجازه نه ورکول یا د ډیری وتلو مقدار محدودول.
د شخصي ملکیتونو کارولو بله ګټه دا ده چې دا د خلاصون کچه چمتو کوي. د معلوماتو د ذخیره کولو یا حساب کولو څرنګوالي داخلي توضیحاتو پټولو سره ، موږ کولی شو د ټولګي انٹرفیس ساده کړو او د نورو پراختیا کونکو لپاره کارول اسانه کړو. دا خلاصون موږ ته اجازه راکوي چې د ټولګي پلي کول بدل کړو پرته لدې چې کوډ یې کاروي اغیزه وکړي ، تر هغه چې عامه انٹرفیس ورته پاتې وي. دا مفهوم د encapsulation په نوم پیژندل کیږي، او دا د ماډلر او ساتلو وړ کوډ ته وده ورکوي.
راځئ چې په ټولګي کې د شخصي ملکیتونو هدف روښانه کولو لپاره یو مثال په پام کې ونیسو. تصور وکړئ چې موږ د "شخص" په نوم یو ټولګی لرو چې د یو شخص معلومات څرګندوي، لکه د دوی نوم او عمر. موږ به د نوم او عمر لپاره شخصي ملکیتونه تعریف کړو، او د دې ارزښتونو د تنظیم او ترلاسه کولو لپاره عامه میتودونه چمتو کړو. د ملکیتونو شخصي کولو سره، موږ ډاډ ترلاسه کوو چې ډاټا یوازې د ټاکل شوي میتودونو له لارې لاسرسی او تعدیل کیدی شي، موږ ته اجازه راکوي چې کوم اړین تایید یا فارمیټ قواعد پلي کړو.
php class Person { private $name; private $age; public function setName($name) { // Perform validation or formatting logic $this->name = $name; } public function getName() { return $this->name; } public function setAge($age) { // Perform validation or formatting logic $this->age = $age; } public function getAge() { return $this->age; } }
په پورتني مثال کې، نوم او د عمر ملکیتونه شخصي دي، پدې معنی چې دوی نشي کولی په مستقیم ډول د ټولګي څخه بهر لاسرسی ومومي. پرځای یې، موږ د دې ملکیتونو سره د تعامل لپاره عامه میتودونه لکه setName() او getName() چمتو کوو. دا موږ ته اجازه راکوي کنټرول کړو چې ډاټا څنګه تنظیم او بیرته ترلاسه کیږي، او ډاډ ترلاسه کوي چې کوم اړین تایید یا فارمیټ پلي کیږي.
په ټولګي کې د ملکیتونو شخصي کولو هدف د ډیټا راټولول ، د ډیټا اعتبار او لاسوهنې قواعد پلي کول ، خلاصول چمتو کول او د ماډلر او ساتلو وړ کوډ ته وده ورکول دي. ملکیتونو ته د مستقیم لاسرسي محدودولو سره ، موږ کولی شو د اعتراض داخلي حالت بشپړتیا او دوام تضمین کړو ، پداسې حال کې چې د معلوماتو سره د متقابل عمل لپاره روښانه او کنټرول شوی انٹرفیس هم چمتو کوو.
په اړه نورې وروستۍ پوښتنې او ځوابونه په پی ایچ پی کې ټولګي او اعتراضونه:
- په ټولګي کې ملکیتونو ته د لاسرسي او ترمیم کولو لپاره وړاندیز شوې تګلاره څه ده؟
- څنګه کولی شو په ټولګي کې د شخصي ملکیت ارزښت تازه کړو؟
- په ټولګي کې د ګیټرز او سیټرونو کارولو ګټه څه ده؟
- څنګه کولای شو چې په یوه ټولګي کې د شخصي ملکیت ارزښت ته لاسرسی ولرو؟
- د پی ایچ پی په ټولګیو کې د جوړونکي فعالیت څه دی او هدف یې څه دی؟
- د PHP ټولګیو کې میتودونه څه دي او موږ څنګه کولی شو د دوی لید تعریف کړو؟
- د PHP ټولګیو کې ملکیتونه څه دي او موږ څنګه کولی شو د دوی لید تعریف کړو؟
- موږ څنګه په PHP کې د ټولګي څخه یو څیز جوړ کړو؟
- په PHP کې ټولګی څه شی دی او کوم هدف یې خدمت کوي؟