⊗ppOpNsCA 104 of 107 menu

PHP'de OOP İsim Alanlarında Sınıf Takma Adları

Diyelim ki farklı isim alanlarına ait iki Data sınıfımız var. Bir sınıfta her iki sınıfın nesnelerine ihtiyacımız olsun:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // nesne oluştur $data2 = new \Core\Admin\Data; // nesne oluştur } } ?>

Diyelim ki sınıf çağrılarını use komutu ile basitleştirmeye karar verdik. Bu durumda bir sorunla karşılaşırız: her iki sınıfın da adı Data, bu da isim çakışması yaşanacağı anlamına gelir:

<?php namespace Project; // İsim çakışması olacak: use \Core\Users\Data; // ilk sınıfı bağla use \Core\Admin\Data; // ikinci sınıfı bağla class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Bu sorunu çözmek için, bağlanan sınıfa bir takma ad - bu dosya içinde erişilecek isim - vermeyi sağlayan özel bir as komutu vardır. Hadi Data sınıflarımızı yeniden adlandıralım:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Aşağıdaki kodu use kullanarak basitleştirin:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Aşağıdaki kodu use kullanarak basitleştirin:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
daesuzlhitr