المشاركات

عرض المشاركات من سبتمبر, ٢٠٢٢

طباعة البيانات في البي اتش بي

 السلام عليكم ورحمة الله وبركاته اليوم سوف نتحدث عن كيفية طباعة البيانات في البي اتش بي  وهناك طريقتين لطباعة البيانات  الطريق الاولي هيا echo  <?php $txt1 = "Learn PHP" ; $txt2 = "i love php" ; $x = 5 ; $y = 4 ; echo "<h2>" . $txt1 . "</h2>" ; echo "Study PHP at " . $txt2 . "<br>" ; echo $x + $y; ?> الطريقه الثانيه هيا  print <?php $txt1 = "Learn PHP" ; $txt2 = " i love php " ; $x = 5 ; $y = 4 ; print "<h2>" . $txt1 . "</h2>" ; print "Study PHP at " . $txt2 . "<br>" ; print $x + $y; ?>  

نطاق وتاثير المتغيرات -- PHP Variables Scope

 السلام عليكم ورحمة الله وبركاته  يوجد ثلاثة انواع من نطاق المتغيرات   محلي--local global --عام ثابت--static نبتدي بالاكثر استخداما المتغير العام ونقدر نقول هو المتغير الموجود خارج اي داله و موجود في الاسكريبت بشكل عام   <?php $x = 5 ; // متغيير عام function myTest() {    // لن يتم استدعاء المتغير  لانه عام وخارج الداله وفي المثال التالي سوف يعيطينا خطا    echo "<p>Variable x inside function is: $x</p>" ; } myTest();//عند استدعاء هذه الداله لن يكون هناك قيمه echo "<p>Variable x outside function is: $x</p>" ;// عند استدعاء المتغير بشكل مباشر تم طباعة المتغير ?>  هذا ما سوف يظهر لك في المتصفح Variable x inside function is: Variable x outside function is: 5   ننتقل الي النوع الثاني من المتغيرات وهيا المتغيرات المحليه التي تستخدم داخل الداله ويتم استدعاءها عن طريق استدعاء الداله   <?php function myTest() {   $x = 5 ; // متغير محالي داخل الداله   echo "<p>Variab

المتغيرات في البي اتش بي -- PHP Variables

 السلام عليكم ورحمة الله وبركاته  اليوم سوف نتحدث عن المتغيرات وهو من اهم الدروس في البي اتش بي بمنتهي البساطه المتغير هو مخزن للقيمه  فمثلا لو لديك معادله من خمس اجزاء  او جمله من الكتابه طويله يمكنك استخدام المتغيرات للاشاره اليهم دون الحاجه لكتابه الجمله اكثر من مره  ولانشاء متغير كل ما عليك هو وضع علامة $ قبل اسم المتغير  ثم علامة =  ثم قيمة المتغير  ثم ; كال المثال التالي  <?php $text = "Hello people !" ;// لاحظ هنا استخدمنا "" للاشاره الي النص $n = 5 ; $b = 10.5 ; echo $text ; ?>     Hello people!  // هذه هيا النتيجه في المتصفح    قواعد عند كتابة المتغيرات    لانشاء متغير  ضع علامة $ قبل اسم المتغير  ثم علامة =  ثم قيمة المتغير  ثم ;  يجب ان يبدا المتغير بحرف او _ لا يمكن ان يبدا المتغير برقم يمكن ان يحتوي المتغير علي رقم او حروف (A-z, 0-9, and _ ) بي اتش بي تكون حساسه من حالة الحروف كابيتل او سمول  بمعني  $text تختلف عن  $TEXT    

التعليقات في البي اتش بي -- PHP Comments

 السلام عليكم ورحمة الله وبركاته  اليوم سوف نتحدث عن التعليقات  التعليقات هيا عباره عن جمل غير برمجيه  يتم كتابتها  لتذكير بشي ما او شرح كود معين ويتم تجاهل هذه الجمل من قبل السيرفر وهناك فوائد كثير للتعليقات لتذكيرك بعمل ما تقوم به او لو فرضنا ان لك شركاء في العمل التعليقات تسهل التفاهم بينك وبين بعض  وهناك اكثر من طريقة لكتابة التعليقات  <?php // الطريقه الاولي # الطريقه الثانيه ?> هؤلاء الطرق هيا الطرق المناسبه لكتابه تعليق من سطر واحد  <?php /* هذه الطريقه لكتابة تعليقات من اكثر من سطر */ ?> ويمكنك استخدام التعليقات لتجاهل بعض الجمل البرمجيه   

تمهيد لانشاء كود بي اتش بي -- PHP Syntax

 السلام عليكم  و رحمة الله  اليوم سوف نقوم ببناء كود من البي اتش بي كود البي اتش بي بيبدا <?php // و ينتهي  ?> ملف البي اتش بي بينتهي بالامتداد .php في الدروس القادمه سوف نقوم بشرح دمج اكواد بي اتش بي مع اكواد html كالمثال التالي  < html > < body > < h1 > My first PHP page < /h1 > <?php echo "Hello World!" ; ?> < /body > < /html > // لاحظ هنا تم استخدام كلمة echo لطباعة المخرجات ستكون النتيجه في المتصفح    Hello World!    

البرمجة كائنية التوجه oop -- المتغيرات الثابته

 السلام عليكم ورحمة الله وبركاته  في هذا الدرس ان شاء الله سوف نقوم بشرح المتغيرات الثابته  PHP - Static Properties وهيا عباره عن متغيرات يمكن استخدمها دون الحاجه انشاء كائن يمكن استدعئها مباشرا  ويتم انشاء المتغيرات  الثابته عن طريق كلمة static قبل المتغير كالمثال التالي    class pi {   public static $value = 3.14159 ; } // Get static property echo pi::$value; ?> // تم استدعاء المتغير مباشرة عن طريق كتابة اسم الكلاس متبوع ::  ثم اسم المتغير دون الحاجه لانشاء كائن مثال اخر  يمكن ان يحتوي الكلاس علي نوعين من المتغيرات   ويمكن استخدام المتغير الثابت داخل دوال الكلاس عن طريق كلمة self:: <?php class pi {   public static $value= 3.14159 ;   public function staticValue() {     return self::$value;   } } $pi = new pi(); echo $pi->staticValue(); ?> مثال اخر    في  هذا المثال سوف  سوف نقوم باستدعاء متغير ثابت من كلاس فرعي من الكلاس الاب  عن طريق كلمة parent::    <?php class pi {   public static $value= 3.14159 ; }

البرمجة كائنية التوجه oop -- الدوال الثابته

 السلام عليكم ورحمة الله وبركاته  سوف نتحدث اليوم عن الدوال الثابته -- Static Methods وهيا عباره عن دوال يمكن استخدمها دون الحاجه انشاء كائن يومكن استدعئها مباشرا  ويتم انشاء الداله الثابته عن طريق كلمة static قبل الداله كالمثال التالي  <?php class greeting {   public static function welcome() {     echo "Hello World!" ;   } } // تم استدعاء الداله مباشرة عن طريق متابة اسم الكلاس متبوع ::  ثم اسم الداله دون الحاجه لانشاء كائن greeting::welcome(); ?>   مثال اخر   في هذا المثال الكلاس يحتوي علي داله ثابته وداله بناء  ويتم استخدام الداله الثابته داخل الداله البناء عن طريق كلمة self::   <?php class greeting {   public static function welcome() {     echo "Hello World!" ;   }   public function __construct() {     self::welcome();   } } new greeting(); ?>   يمكن استخدام الداله الثابته من خلال كلاس اخر ولكن يجب ان تكون الداله عامه  كالمثال التالي    <?php class greeting {   public stat

البرمجة كائنية التوجه oop -- السمات

 السلام عليكم  ورحمة الله وبركاته  في هذا الدرس سوف نتحد عن السمات --   Traits  الكلاس الفرعي لا يمكن وراثة اكثر من كلاس رئيسي  ولكن ماذا لو اردنا ان يرث  عددت طرق  السمات هيا الحل لذلك يمكن ان تحتوي السمات علي دوال مجرده ودوال عاديه واي نوع من الوصول سواء محميه  او خاصه او عامه  ولكي ننشا سمات يجب كتابة كلمه trait      ولنري المثال التالي  <?php trait message1 { public function msg1() {     echo "OOP is fun! " ;   } } class Welcome {   use message1; } $obj = new Welcome(); $obj->msg1(); ?>   عند استخدام الداله المعرفه مسبقا في السمات لاحظ استخدمنا كلمة use   واسم السمه    ولسنا في حاجه لربط الكلاس بالسمات  كما نفعل في الوراثه  لنري مثال اخر لربط اكثر من سمات بكلاس واحد <?php trait message1 {   public function msg1() {     echo "OOP is fun! " ;   } } trait message2 {   public function msg2() {     echo "OOP reduces code duplication!" ;   } } class Welcome {   use message1; } class Welcom

البرمجة كائنية التوجه oop -- الوجهات

 السلام عليكم ورحمة الله وبركاته  في هذا الدرس سوف نتحدث عن الوجهات -- Interfaces الوجهات تحتوي علي الطرق والدوال التي يجب علي الكلاس تنفيذها  بمنتهي البساطه لو نحتاج تحديد طرق  ودوال معينه لكلاس واحد او عددت كلاسات يمكن ربطها بواجه لتحديد ذلك  ولعلك الان انت تسال ما الفرق بين الوجهات والكلاسات المجرده  سوف اذكر لك اهم الاختلافات  لا يمكن ان يكون للوجهات خصائص ومتغيرات بينما يمكن لكلاسات المجرده كل الدوال يجب ان تكون عامه في الوجهات بينما في الكلاسات المجرده يمكن ان تكون عامة ومحميه جميع الدوال في الوجهات دوال مجرده لا تحتوي علي كود برمجي  يمكن اتصال الكلاس بالوجهات وفي نفس الوقت اتصال بكلاس رئيسي  لانشاء واجها نستخدم كلمة interface  كما في المثال  <?php interface Animal {   public function makeSound(); } // implements تم ربط الكلاس التالي عن طريق  كلمة class Cat implements Animal {   public function makeSound() {     echo "Meow" ;   } } $animal = new Cat(); $animal->makeSound(); ?>  

البرمجة كائنية التوجه oop الكلاس والدوال المجرده

 السلام عليكم ورحمة الله وبركاته  في هذا الدرس سوف نقوم بشرح    Abstract Classes and Methods الكلاس والدوال المجرده هيا دوا يتم تعريفها في الكلاس الاب ولكن يتم اضافة اكودها في الكلاس الفرعي ويجب علي الكلاس الفرعي استخدمها وادخال بيانتها  ولانشاء كلاس رئيسي مجر يجب استخدام كلمة  abstract   عند الوراثه من كلاس رئيسي مجرد يجب تعريف الداله في الكلاس الفرعي بنفس الاسم وبنفس وشروط امكانية الوصول او اقل بمعني لو تم تعريف الداله المجرده في الكلاس الرئيسي بداله عامه او محميه يجب ان تكون في الكلاس الفرعي معرفه انها عامه او محميه ولكن ليست خاصه  واذا تم تعريف متغير الداله في الكلاس الريسي يجب ايضا تعريف بنفس الاسم في الكلاس الفرعي   لنري في المثال التالي     <?php // الكلاس الرئيسي abstract class Car {   public $name;   public function __construct($name) {     $this->name = $name;   }   abstract public function intro() : string; } // كلاس فرعي class Audi extends Car {   public function intro() : string {     return "Choose German qual

البرمجة كائنية التوجه oop -- الثوابت

 السلام عليكم ورحمة الله وبركاته  نتحدث اليوم عن الثوابت      Class   Constants الثوابت هي اشياء لايمكن تغيرها او اضافة قيمه اخري لها بعد اعلنها وانشاءها  وتستخدم في حالة الاشياء الت لن تتغير او ان تريد تحديث قيمتها مره اخري  ويتم انشاء الثابت عن طريقة كلمة const     <?php class Goodbye {   const LEAVING_MESSAGE = "Thank you for visiting W3Schools.com!" ; } echo Goodbye::LEAVING_MESSAGE; // لاحظ هنا انه تم الوصول للثوابت عن طريق الاستدعاء مباشره دون ان نحتاج الي وضع الكلاس في كائن $qq=new goodbye(); echo $qq::LEAVING_MESSAGE;// في هذا المثال تم استدعاء الثابت بعد وضع الكلاس في كائن  ?>       // لاحظ استخدام self ::   للاشاره الي الثابت داخل داله داخل الكلاس   <?php class Goodbye {   const LEAVING_MESSAGE = "Thank you for visiting W3Schools.com!" ;   public function byebye() {     echo self::LEAVING_MESSAGE;   } } $goodbye = new Goodbye(); $goodbye->byebye(); ?>  

البرمجة كائنية التوجه oop -- الوراثه

 السلام عليكم ورحمة الله وبركاته  يمكن ان ننشا كلاس وهذا الكلاس يكون وريث للكلاس الاب في اشياء كeيره ويمكن ان يستخدم الطرق والخصائص للكلاس الاب وبالطبع هذا يوفر وقت ومجهود كبير  ولنري هذا في مثال <?php class Fruit {   public $name;   public $color;   public function __construct($name, $color) {     $this->name = $name;     $this->color = $color;   }   public function intro() {     echo "The fruit is {$this->name} and the color is {$this->color}." ;   } } // ولانشاء كلاس فرعي لابد ان يتم تعريف علي الكلاس الرئيسي عن طريق كلمة extends متبوع باسم الكلاس الرئيسي // class Strawberry extends Fruit {   public function message() {     echo "Am I a fruit or a berry? " ;   } } //تم استخدام الداله المنشاه للكلاس الاب  وكذلك استخدام داله عاديه من الكلاس الاب  دون الحاجه لتعريف هذه الدوال داخل الكلاس الفرعي// $strawberry = new Strawberry( "Strawberry" , "red" ); $strawberry->

البرمجة كائنية التوجه --- امكانية الوصول oop

 السلام عليكم ورحمة الله وبركاته المقصود امكانية الوصول او  Access Modifiers هيا كيفية الوصول الي متغير او داله من خارج الكلاس او من كلاس بالوراثه يوجد ثلاث انواع لامكانية الوصول  الاولي عام public وهو يمكن الوصول له من خارج الكلاس او الكلاس الوريث  الثاني  private لا يمكن الوصول له الا داخل الكلاس private الثالث محمي protected  وهو يمكن الصول له داخل الكلاس او عن طريق الكلاس الوريث  لنري ما المقصود في المثال التالي <?php class Fruit {   public $name;   protected $color;   private $weight; } $mango = new Fruit(); $mango->name = 'Mango' ; // OK $mango->color = 'Yellow' ; // ERROR $mango->weight = '300' ; // ERROR ?>   عند تجربة هذا المثال شوف يعطينا خطا لان نستخدم متغيرات غير مسموح لنا الوصول اليها    و لاناخذ مثال اخر ولكن علي الدوال    <?php class Fruit {   public $name;   public $color;   public $weight;   function set_name($n) {  // هنا دالة عامه وهذا تصنيف افتراضي     $this->name = $n;   }  

البرمجة كائنية التوجه oop -- دالة النهايه -- The __destruct Function

السلام عليكم ورحمة الله وبركاته  دالة النهايه او دالة التدمير يتم استدعائها عند نهائة الكلاس او الخروج منه  <?php class car { // كما موضح داخل المثال  بعد كلمة function __construct   لانشاء دالة بنا يجب كتابة function __construct($name)// __construct لاحظ كلمة {echo $name;} function __destruct() //// كما موضح داخل المثال  بعد كلمة function __destruct   لانشاء دالة نهايه او  تدمير  يجب كتابة { echo "this is the end of class"; } } $cc=new car ("bmw"); ?> ولفهم افضل برجاء تجربة هذا المثال 

البرمجة كائنية التوجه oop The __construct دالة البناء

السلام عليكم ورحة الله وبركاته  دالة البناء هيا دالة يتم استدعائها بمجرد وضع الداله في كائن  وعلي سبيل المثال  <?php class car { // كما موضح داخل المثال  بعد كلمة      __construct   لانشاء دالة بنا يجب كتابة  //function function __construct($name)// __construct لاحظ كلمة {echo $name;} } $cc=new car ("bmw"); ?> كما موضح داخل المثال عند وضع الكائن داخل الكلاس يتم تنفيذ الداله دون استدعائها يجب تطبيق المثال السابق وسوف تستوعب الامر بمنتهي السهوله