الصنف وحدة لتنظيم الكود في PHP، وكثيرًا ما يمثّل نسخة من شيء أو خدمة أو إجراء. وباستخدام الكلمتين المفتاحيتين static وself، يمكن أن توجد خصائص وطرق مرتبطة بالصنف نفسه، فتكون مشتركة بين جميع النسخ (أو متاحة دون وجود أي نسخة على الإطلاق).
<?php
class Book
{
static $genre = 'Adventure';
static function getGenre()
{
return self::$genre;
}
}
// Usage
$genre = Book::$genre;
$genre = Book::getGenre();
لا تستطيع طرق الصنف المعرَّفة بـstatic أن تستدعي إلا خصائص أو طرقًا static أخرى من الصنف نفسه.
<?php
class Book
{
$name = 'Treasure Island';
static function getName()
{
// This static method cannot access the instance variable
return $this->name;
}
}