لا أستطيع تصفح الروابط الخارجية مباشرة، لكن يمكنني مساعدتك في شرح النقاط المذكورة. سأقدم لك شرحاً لكل من هذه المفاهيم المتعلقة بالبرمجة الكائنية التوجه (OOP) في PHP:
1. PHP Classes/Objects
– **Classes**: هي القوالب التي تُستخدم لإنشاء الكائنات (objects). تحتوي على خصائص (properties) وطرق (methods).
– **Objects**: هي مثيلات من الفصول (classes). يتم إنشاء الكائن باستخدام الكلمة المفتاحية `new`.
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "My car is a " . $this->color . " " . $this->model . "!";
}
}
$myCar = new Car("red", "Toyota");
echo $myCar->message();
2. PHP Constructor
– **Constructor**: هو دالة خاصة داخل الفصل تُستدعى تلقائيًا عند إنشاء كائن جديد. تُستخدم لتهيئة الخصائص.
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
}
3. PHP Destructor
– **Destructor**: هو دالة خاصة تُستدعى تلقائيًا عند تدمير كائن. تُستخدم لتنظيف الموارد.
class Car {
public function __destruct() {
echo "The car is being destroyed.";
}
}
4. PHP Access Modifiers
– **Modifiers**: تُحدد مستوى الوصول إلى خصائص وطرق الكائن:
– `public`: يمكن الوصول إليه من أي [شركة برمجة مصرية] مكان.
– `protected`: يمكن الوصول إليه داخل الفصل والفصول المشتقة.
– `private`: يمكن الوصول إليه فقط داخل نفس الفصل.
class Car {
public $color; // Public property
protected $model; // Protected property
private $engine; // Private property
}
5. PHP Inheritance
– **Inheritance**: يسمح لفصل (class) باكتساب خصائص وطرق فصل آخر.
class Vehicle {
public $brand;
public function honk() {
echo "Beep!";
}
}
class Car extends Vehicle {
public $model;
}
6. PHP Constants
– **Constants**: تُعرّف باستخدام الكلمة `const` ولا تتغير قيمتها.
class Car {
const WHEELS = 4;
}
7. PHP Abstract Classes
– **Abstract Classes**: لا يمكن إنشاء كائنات منها وتحتوي على دوال مجردة يجب تعريفها في الفصول المتفرعة.
abstract class Car {
abstract public function drive();
}
8. PHP Interfaces
– **Interfaces**: تحدد دوال يجب تنفيذها في الفصول التي تطبق الواجهة.
interface Vehicle {
public function drive();
}
class Car implements Vehicle {
public function drive() {
echo "Driving a car";
}
}
9. PHP Traits
– **Traits**: تُستخدم لإعادة استخدام أسطر الكود في فصول متعددة.
trait EngineTrait {
public function startEngine() {
echo "Engine started";
}
}
class Car {
use EngineTrait;
}
10. PHP Static Methods
– **Static Methods**: يمكن استدعاؤها بدون إنشاء كائن من الفصل.
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
echo Calculator::add(1, 2);
11. PHP Static Properties
– **Static Properties**: خاصية ترتبط بالفصل ذاته وليس بالكائنات.
class Calculator {
public static $pi = 3.14;
}
echo Calculator::$pi;
12. PHP Namespaces
– **Namespaces**: تُستخدم لتنظيم الكود وتجنب التعارض بين الأسماء.
namespace Vehicles;
class Car {
// Class code
}
13. PHP Iterables
– **Iterables**: أي شيء يمكن تكراره باستخدام `foreach`.
function getIterable(): iterable {
return [1, 2, 3];
}
foreach (getIterable() as $value) {
echo $value;
}
آمل [شركة برمجة مصرية] أن يكون هذا الشرح قد غطى النقاط التي كانت ناقصة في المقالة التي لديك. إذا كان لديك أي سؤال آخر، فلا تتردد في طرحه!
