PHP Application Object
Uzun zamandır konu sıkıntısı yaşamamın üzerinden yeniden ilginç bir konuyla geri döndüm. ![]()
JSP, .NET, ve çağdışı kalmış ASP bile application object içerirken PHP dili neden application object içermez ?
Bunun cevabını bilmiyoruz. Ancak öte yandan PHP ile bunu yapmak oldukça basit.
Bize lazım olan bir Cache nesnesi, bir Application nesnesi ve bir model.
Şimdi örneğimizi yapmaya başlıyoruz;
class Application{ private static $xcobj; private $cache; private function __construct(){ $this->cache = Cache::getInstance(); $this->cache->setTimeLimit(5); } private final function __clone(){} public static function getInstance(){ if (!(self::$xcobj instanceof Application)){ self::$xcobj = new Application(); } return self::$xcobj; } public function put($name_,$obj_){ $this->cache->$name_ = $obj_; } public function get($name_){ return $this->cache->$name_; } }
$product = new Product(); $product->setProductCode("code")->setPrice(30); $application = Application::getInstance(); $application->put("product",$product); var_dump($application->get("product"));
Bu aslında daha önce değindiğimiz cache kullanma işinin daha modern hali.
Böyle birşey bize nerede lazım olur ?
- Başka bir siteden bilgi çekip ekranda gösterirken. Döviz kurlarını TCMB sitesinden çekip gösterebilirsiniz. Böylece yoğun trafiğiniz varsa her seferinde TCMB'den bilgi çekmek zorunda kalmazsınız.
- Karmaşık bir sorguyu veritabanından çekerken gelen sonuçları buraya atabilirsiniz.
Yada veritabanı sunucusu ile web sunucusu ayrı makinalarda ise iki makina arasındaki trafiği azaltmak için sonuçları bellekte tutabilirsiniz. - Ana sayfada gösterilen ve her seferinde yeniden boyutlandırılan yada üzerine yazı yazılan resimler gibi yüksek işlemci gerektiren işlemleri her seferinde yapmak yerine 5-10 dakikada bir yapabilirsiniz.
Kolaylık olsun diye dosyaları da buraya ekliyorum.
application_object.zip