التغليف ومعدّلات الوصول
احمِ الوصول إلى الخصائص والأساليب وتحكّم فيه
التغليف ومعدّلات الوصول درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 4 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 5 دروس في المجموع.
التغليف ومحددات الوصول
التغليف ومحددات الوصول
مرحبًا بكم في درس التغليف! في هذا الدرس، ستتعلمون كيف يساعد التغليف على حماية البيانات داخل الفئات، وكيف تتحكم محددات الوصول في إمكانية رؤية خصائص الفئات وأساليبها. لنبدأ!

ما هو التغليف؟
ما هو التغليف؟
التغليف هو ممارسة تجميع البيانات (الخصائص) والأساليب التي تعمل على تلك البيانات داخل فئة، وتقييد الوصول المباشر إليها من خارج الفئة.
الميزات الأساسية للتغليف:
- يحمي الحالة الداخلية للكائن.
- يوفر وصولًا متحكمًا به إلى خصائص الفئة باستخدام الأساليب.
- يساعد في الحفاظ على سلامة البيانات.
نصيحة: يُعد التغليف مفهومًا أساسيًا لبناء تطبيقات آمنة ووحداتية.
محددات الوصول في PHP
محددات الوصول في PHP
تحدد محددات الوصول إمكانية رؤية خصائص الفئة وأساليبها. يوفر PHP ثلاثة مستويات لإمكانية الوصول:
public: يمكن الوصول إليها من أي مكان.protected: لا يمكن الوصول إليها إلا داخل الفئة وفئاتها الابنة.private: لا يمكن الوصول إليها إلا داخل الفئة نفسها.
نقطة مهمة: استخدم محددات الوصول للتحكم في كيفية الوصول إلى الخصائص والأساليب وتعديلها.
استخدام خصائص public
استخدام خصائص public
يمكن الوصول إلى الخصائص المعلنة باستخدام public وتعديلها من أي مكان. مثال:
نصيحة: استخدم public للخصائص والأساليب التي يُراد الوصول إليها بشكل مفتوح.
<?php
class Car {
public $make;
public $model;
public function drive() {
echo "The car is driving.";
}
}
$car = new Car();
$car->make = "Toyota";
$car->model = "Corolla";
echo "Make: " . $car->make . ", Model: " . $car->model;
$car->drive();
?>
استخدام خصائص private
استخدام خصائص private
لا يمكن الوصول إلى الخصائص المعلنة باستخدام private إلا داخل الفئة. مثال:
نقطة مهمة: استخدم private للخصائص التي تحتاج إلى حمايتها من التعديل الخارجي.
<?php
class BankAccount {
private $balance;
public function __construct($initialBalance) {
$this->balance = $initialBalance;
}
public function getBalance() {
return $this->balance;
}
public function deposit($amount) {
$this->balance += $amount;
}
}
$account = new BankAccount(100);
$account->deposit(50);
echo "Balance: " . $account->getBalance(); // Outputs: Balance: 150
?>
استخدام خصائص protected
استخدام خصائص protected
يمكن الوصول إلى الخصائص المعلنة باستخدام protected داخل الفئة وفئاتها الابنة. مثال:
نقطة مهمة: استخدم protected للسماح للفئات الابنة بالوصول إلى خصائص وأساليب الفئة الأصلية.
<?php
class Vehicle {
protected $fuel;
public function setFuel($fuel) {
$this->fuel = $fuel;
}
}
class Car extends Vehicle {
public function getFuel() {
return $this->fuel;
}
}
$car = new Car();
$car->setFuel("Gasoline");
echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>
دوال getter وsetter
دوال getter وsetter
يتضمن التغليف غالبًا استخدام دوال getter وsetter لتوفير وصول متحكم به إلى الخصائص الخاصة. مثال:
نصيحة: استخدم دوال setter للتحقق من صحة البيانات قبل تعديل الخصائص.
<?php
class User {
private $password;
public function setPassword($password) {
$this->password = $password;
}
public function getPassword() {
return $this->password;
}
}
$user = new User();
$user->setPassword("my_secure_password");
echo "Password: " . $user->getPassword();
?>
فوائد التغليف
فوائد التغليف
يوفر التغليف المزايا التالية:
- يحمي الحالة الداخلية للكائن.
- يحسن قابلية صيانة الشيفرة من خلال تركيز التحكم في الخصائص.
- يمنع التعديل غير المقصود للبيانات.
- يعزز الأمان من خلال تقييد الوصول المباشر إلى البيانات الحساسة.
نقطة مهمة: يُعد التغليف مبدأً أساسيًا في البرمجة كائنية التوجه الآمنة والوحداتية.
أحسنت!
أحسنت!
تهانينا! لقد تعلمت عن التغليف وكيف تتحكم محددات الوصول في إمكانية رؤية خصائص الفئات وأساليبها. في الدرس التالي، سنستكشف تعدد الأشكال وكيف يتيح المرونة في سلوك الكائنات. واصل البرمجة!

الأسئلة الشائعة
هل درس «التغليف ومعدّلات الوصول» مجاني؟
نعم — نص درس «التغليف ومعدّلات الوصول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 5 دروس في المجموع.
ماذا ستتعلم في «التغليف ومعدّلات الوصول»؟
احمِ الوصول إلى الخصائص والأساليب وتحكّم فيه تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 5.
كم من الوقت يستغرق درس «التغليف ومعدّلات الوصول»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى البرمجة كائنية التوجه في PHP
- تعريف الفئات والكائنات
- الوراثة
- التغليف ومعدّلات الوصول
- تعدد الأشكال