لتحديث قيمة خاصية خاصة في فئة ما في PHP ، نحتاج إلى استخدام طرق getter و setter. لا يمكن الوصول إلى الخصائص الخاصة بشكل مباشر خارج الفصل ، لذلك نحتاج إلى تحديد الطرق العامة داخل الفصل لتعديل قيمها.
أولاً ، دعنا نفكر في فئة بسيطة تسمى "شخص" ذات خاصية خاصة تسمى "الاسم":
class Person { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } }
في المثال أعلاه ، لا يمكن الوصول إلى الخاصية الخاصة `$ name` إلا داخل الفئة نفسها. للوصول إلى قيمته وتعديلها ، حددنا طريقتين عامتين: `getName ()` و 'setName ($ name) `.
طريقة `getName ()` هي طريقة getter تُرجع قيمة الخاصية الخاصة `$ name`. إنه لا يعدل القيمة ، ولكنه يسمح لنا باستردادها.
الطريقة `setName ($ name)` هي طريقة تعيين تأخذ الوسيطة `$ name` وتعينها للخاصية الخاصة` $ name`. هذا يسمح لنا بتحديث قيمة الملكية الخاصة من خارج الفصل.
فيما يلي مثال على كيفية استخدام طرق getter و setter هذه لتحديث قيمة الملكية الخاصة:
$person = new Person(); $person->setName("John Doe"); echo $person->getName(); // Output: John Doe $person->setName("Jane Smith"); echo $person->getName(); // Output: Jane Smith
في المثال أعلاه ، قمنا بإنشاء مثيل جديد لفئة "الشخص" وقمنا بتعيين الاسم باستخدام طريقة `setName ()`. ثم نسترجع الاسم المحدث باستخدام طريقة `getName ()` ونعرضه.
باستخدام أساليب getter و setter ، يمكننا ضمان الوصول إلى الخصائص الخاصة للفصل وتعديلها بطريقة مسيطر عليها. يساعد هذا التغليف في الحفاظ على تكامل الفصل ويمنع التلاعب المباشر بالخصائص الخاصة من خارج الفصل.
لتحديث قيمة خاصية خاصة في فئة ما في PHP ، نحتاج إلى تعريف دالة getter و setter العامة داخل الفصل. تسترد طريقة getter قيمة الخاصية الخاصة ، بينما تسمح لنا طريقة setter بتعديل قيمتها. باستخدام هذه الطرق ، يمكننا تحديث الملكية الخاصة بطريقة مسيطر عليها.
أسئلة وأجوبة أخرى حديثة بخصوص الفئات والكائنات في PHP:
- ما هي الطريقة الموصى بها للوصول إلى الخصائص وتعديلها في الفصل؟
- ما فائدة استخدام المحاضر والضوابط في الفصل؟
- كيف يمكننا الوصول إلى قيمة الممتلكات الخاصة في الفصل؟
- ما هو الغرض من جعل الممتلكات خاصة في الفصل؟
- ما هي دالة constructor في أصناف PHP وما هو الغرض منها؟
- ما هي الطرق في أصناف PHP وكيف يمكننا تحديد رؤيتها؟
- ما هي الخصائص في فئات PHP وكيف يمكننا تحديد رؤيتها؟
- كيف ننشئ كائنًا من فئة في PHP؟
- ما هو الفصل في PHP وما الغرض الذي يخدمه؟