السلام عليكم ورحمة الله وبركاته
ماهي فائدة private و protected في php
لما لا نستخدم public دائما؟؟
ثانيا
مافائدة static في الكلاس
وشكرا...
تستخدم محددات الوصول لسهولة تتبع الكود وفهم آليه عمله لسهولة صيانته وحمايته قدر المستطاع من الأخطاء.
private تعني خاص، فأي مكون يُعرف على أنه خاص لا يمكن إستخدامه إلا داخل الفئة المعرف بها فقط فلا يمكن الوصول له من خلال كائن منشأ من هذه الفئة وأيضاً لا يمكن الوصول للمكونات الخاصة في حالة الوراثة.
protected تعني محمي، وهي أعم من السابقة فأي مكون يعرف على أنه محمي يمكن إستخدامه داخل نفس الفئة وفي حالة الوراثة فقط ولا يمكن الوصول لمكونات الفئة المحمية من خلال الكائن المنشأ من هذه الفئة.
public تعني عام ويمكن الوصول لجميع المكونات العامة داخل نفس الفئة وفي حالة الوراثة أو من خلال الكائن المنشأ من هذه الفئة.
static وتعني ثابت، فأي مكون يتم تعريفه على أنه ثابت يمكن الوصول إليه مباشراً من خلال :: بعد اسم الفئة دون الحاجة لإنشاء كائن من هذه الفئة.
مثلا عملت كلاس اتصال بقاعدة بيانات
ال mysql_connect بيكون private ولا public ولو خليته public ايش الأضرار الناتجة؟
ثانيا مافائدة static وليس طريقة استدعائها
لماذا قد استخدم static في الكلاس وشكرا
ال mysql_connect بيكون private ولا public ولو خليته public ايش الأضرار الناتجة؟
خذ مثالاً:
class db
{
private $mysqli;
private $host;
private $user;
private $password;
private $db;
private function __construct($host, $user, $password, $db)
{
$this->host = $host;
$this->user = $user
$this->password = $password;
$this->db = $db;
$this->connect();
}
private function connect()
{
$this->mysqli = new mysqli($this->host, $this->user, $this->password, $this->db);
if (mysqli_connect_errno())
{
mysqli_connect_error();
}
else
{
return true;
}
}
private function query($query)
{
return $this->mysqli->query($query);
}
}
الآن حاول إستخدام هذه الفئة.
ثانيا مافائدة static وليس طريقة استدعائها
لماذا قد استخدم static في الكلاس وشكرا
أجبتك عنه سابقاً
دون الحاجة لإنشاء كائن من هذه الفئة.
فيمكن إستخدام الخصائص والطرق الساكنة مباشراً دون الحاجة لإنشاء كائن من الفئة.
التعليقات