__CLASS__
sihirli sabiti, bulunduğu sınıfın adını içerir. Bu sabit genellikle sınıflar arası iletişimde veya sınıf içindeki özel işlemlerde kullanılır. İşte __CLASS__
sabitinin kullanımına dair bir örnek:
class ExampleClass {
public function showClassName() {
echo "Bu sınıfın adı: " . __CLASS__;
}
}
$obj = new ExampleClass();
$obj->showClassName();
?>
Bu örnekte, __CLASS__
sabiti, ExampleClass
sınıfının adını içerir. Sınıf içinde bu sabiti kullanarak, o sınıfın adına erişebilirsiniz.
Pratik bir örnek olarak, nesne oluşturulduğu sınıfın adına programatik olarak erişmek istediğinizde veya bir sınıfta özel bir işlem gerçekleştirmek istediğinizde __CLASS__
sabiti kullanılabilir. Örneğin:
class Logger {
public function log($message) {
$log = "[" . date("Y-m-d H:i:s") . "] Sınıf: " . __CLASS__ . " - Mesaj: " . $message . "
";
file_put_contents("log.txt", $log, FILE_APPEND);
}
}
$logger = new Logger();
$logger->log("Bu bir log mesajıdır.");
?>
Bu örnekte, Logger
sınıfının log
metodunda, __CLASS__
sabiti kullanılarak, log mesajına hangi sınıf içinde olduğumuzun bilgisi eklenir.