Ben bir memcache sunucusu ile etkileşim için bir sınıf var. Ben, ekleme, silme ve veri almak için farklı işlevlere sahiptir. Başlangıçta her bir fonksiyon, örneğin gereksiz olduğunu ancak, memcache_connect()
için bir çağrı yaptı:
mc->insert()
mc->get()
mc->delete()
Üç memcache bağlantıları yapmak istiyorum. Ben sınıf için bir yapı oluşturarak bu çalıştı:
function __construct() {
$this->mem = memcache_connect( ... );
}
ve daha sonra kaynak gerekli $this->mem
yerde kullanarak, bu nedenle üç fonksiyonların her biri aynı memcache_connect
kaynak kullanımı.
Bu tamam, ancak ben diğer sınıfları içinde sınıf aramak ise, örneğin:
class abc
{
function __construct() {
$this->mc = new cache_class;
}
}
class def
{
function __construct() {
$this->mc = new cache_class;
}
}
zaman sadece needs, bir o hala, iki memcache_connect
çağrıları yapıyor.
Ben globalleri ile yapabilirsiniz ama ben yoksa bunları kullanmamayı tercih ederim.
Örnek globallerinin uygulama:
$resource = memcache_connect( ... );
class cache_class
{
function insert() {
global $resource;
memcache_set( $resource , ... );
}
function get() {
global $resource;
return memcache_get( $resource , ... );
}
}
Sonra ne olursa olsun sınıf denir kaç kez sadece memcache_connect
bir çağrı olacaktır.
Bunu yapmak için veya sadece küresellerle kullanmanız gereken bir yolu var mı?