دورة php للمبتدئين الدرس الثاني العشرون


فهاد الدرس الثاني والعشرون من دورة php للمبتدئين غادي نشوفوا كيفاش نتعاملو مع ل POO لي هي ل programmation orienté objet ف php فغادي نزيدو des classes وغادي نشوفوا كيفاش يمكن نستخدم لمتغيرات لي خاصة ولي عامة والفرق بيناتهم كما غادي نشوف كيفاش نزيد des fonctions ومنبعد غادي نشوف كيفاش ن créer objet من les classes ديالي وعرض المعلومات الخاصة ب la classe لي زدت.


1- إضافة class ف php مع المتغيرات

ف php باش نزيد class عندي ل mot clé class لي كنتبعوا باسم ل class لي دائما خص الحرف الأول منها يكون Majuscule.
فالمثال لي عندي زدت classe وسميتها Person منبعد زدت فيها des variables لي سبقتهم بال mot clé public لي كيعني بلي هاد les variables ممكن نستعملهم برا من la classe ديالي .
الكود لي زدنا هو : 

                                //index.php

<?php
    class Person{
        public $name;
        public $email;
        public $password;

  }  
?>
                            

2- إضافة ل constructeur لل class ديالنا

فل constructeur الدور ديالو هو انه كيساعدني باش ن créer l'objet من la classe فكياخد les variables ديال ل class Person وكيعطيها les variables ديال ل objet لي زدنا.
فالمثال لي عندنا زدنا ل constructeur بل fonction __construct وعطيناه les variables ديالنا واسترجعنا les variables ديال la classe بل mot clé $this ورديناهم كيساويو les variables لي فال constructeur.
منبعد كن créer l'objet من la classe Person وكنعطيه name , email , password وكنزيدو لل variable $employe.
الكود لي زدنا هو :

                                //index.php

<?php
    class Person{
        public $name;
        public $email;
        public $password;

        public function __construct($name,$email,$password){
                $this->name = $name;
                $this->email = $email;
                $this->password = $password;
        }
  }  
 $employe = new Person('samadi','samadi@email.com','samadi');
?>
                            

3- عرض المعلومات لي زدنا

فباش نعرض المعلومات ديال ل objet لي زدنا كنخدم ب echo لي كنعطيها ل objet employe لي زدت.
باستعمال السهم كيمكنلي ن afficher القيم ديل ل objet فكنعرض الإسم لإيمايل وكلمة المرور.

                                //index.php

<?php
    class Person{
        public $name;
        public $email;
        public $password;

        public function __construct($name,$email,$password){
                $this->name = $name;
                $this->email = $email;
                $this->password = $password;
        }
  }  
 $employe = new Person('samadi','samadi@email.com','samadi');
  echo $employe->name.' '.$employe->email.' '.$employe->password;
?>
                            

4- إضافة fonction لل class Person

باش نزيد fonction لل class Person كنزيدها بل mot clé public function وكنعطيها الإسم.
فالمثال لي عندي زدنا ل fonction getFullName لي كترجعنا لإسم ديال ل Person لي زدنا ومنبعد بنفس الطريقة لي استعملت بها القيم كنستعمل ال fonction getFullName لعرض الإسم.
الكود لي زدنا هو :

                                    //index.php

<?php
    class Person{
        public $name;
        public $email;
        public $password;

        public function __construct($name,$email,$password){
                $this->name = $name;
                $this->email = $email;
                $this->password = $password;
        }
        public function getFullName(){
            return $this->name;
        }
  }  
  $employe = new Person('samadi','samadi@email.com','samadi');
  echo $employe->getFullName();
?>
                                

5- إضافة des variables و des fonctions statiques

ف les fonctions statiques ممكن نفذهم بلا منحتاج ن créer l'objet من la classe باش نزيد des variables و des fonctions statiques عندي ل mot clé static لي كيمكني من هادشي.
فالمثال لي عندي زدت variable static سميتها age وزدت fonction static سميتها getAge.
باش نسترجع ل age ديال ل Person كنخدم ب self::$age  وباش نفذ ل fonction getAge مكنخدمش بل objet لي زدت إنما بل  class Person لي باستعمال اسم la classe متبوع ب :: ثم اسم ل fonction كيمكن باش نفذها.
الكود لي زدنا هو :

                                    //index.php

<?php
    class Person{
        public $name;
        public $email;
        public $password;
        public static $age = 30;
        public function __construct($name,$email,$password){
                $this->name = $name;
                $this->email = $email;
                $this->password = $password;
        }
        public function getFullName(){
            return $this->name;
        }
        public static function getAge(){
            return self::$age;
        }
  }  
  $employe = new Person('samadi','samadi@email.com','samadi');
  echo $employe->getFullName();
  echo Person::getAge();
?>