PHP bir sayfadaki tüm dosyaları başvuruları yük?

1 Cevap php

Ben bir önbellek sınıfının üzerinde çalışıyorum, ben 5 farklı depolama ortamlar önbelleğe öğeleri ayarlamak ve almak mümkün olmak istiyorum. Memcache, APC önbelleği, dosya önbellek, oturumlar, kurabiye. Belki de bir 6. (veritabanı 6 olarak ilave edilebilir).

Amacım çok kolay (taşınabilir) birçok proje üzerinde ileride kullanabilirsiniz yeterince bu esnek hale getirmektir. Ben de her 1 set yöntemi ve 1 olsun yöntemini çağırarak cache öğeleri almak / ayarlamak mümkün olmak istiyorum.

Aşağıda bana bunu sağlayacak şimdiye kadar başlamış kodudur. Benim anahtar bloğunda Ben bu önbellek orada yazın veya başka bir yöntemi çağırmak zorunda, ya da her bir anahtar bloğu öğe bir completley yeni bir sınıf / nesne aramak zorunda için tüm kodu koymak gerekir emin değilim.

Ben bunu kendi sınıf dosyası her önbellek sistemi koyarsanız önbellek türlerinden sadece bir çift sayfada kullanılırsa, o zaman benim autolaoding için bu kadar kod yüklemeye gerek olmayacak düşünüyorum. Ben hala aşağıdaki kodu 6 farklı sınıf dosyaları yüklemek istiyorsunuz ya da sadece anahtar ihtiyaçları dosyalarını yüklemek istiyorum, benim sınıf dosyaları için autoloading kullanarak, ama emin değilim. Bir sayfa yalnızca oturumları önbelleği kullanır Örneğin, aşağıda benim anahtar, sadece bir seans sınıf dosyası yüklemek istiyorsunuz veya tüm dosyaları yüklemek otomatik PHP istiyorsunuz? Benim kod test etmek denemek için bir şey koyarsanız, o zaman kesinlikle tüm dosyaları yükleyecektir çünkü test etmek zordur.

Bana tavsiye vermek ve ben bir çerçeve kullanmak istemiyorsanız, lütfen varolan çerçeve kullanmak değil öğrenmek için çalışıyorum.

/**
* Set a key/value to cache system.
*
* @param   string        type of cache to store with
* @param   string|array  keys, or array of values
* @param   mixed         value (if keys is not an array)
* @return  void
*/  
public function set($type, $keys, $value = FALSE, $options_arr)
{
    if (empty($keys))
        return FALSE;

    if ( ! is_array($keys))
    {
        $keys = array($keys => $val);
    }

    // Pick our Cache system to use
    switch ($type) {
        case "memcache":
            echo "Cache item to memcache";
            break;

        case "apc":
            echo "Cache item to APC";
            break;

        case "session":
            echo "Cache item to Sessions";
            foreach ($keys as $key => $val)
            {
                // Set the key
                $_SESSION[$key] = $val;
            }
            break;

        case "cookie":
            echo "Cache item to Cookie";
            break;

        case "file":
            echo "Cache item to File";
            break;
    }

}

1 Cevap

Varolmayan bir sınıf başvuruda çalıştığınızda autoloading yalnızca oluşur. O satır yürütüldüğünde, olduğunu. Olası tüm sınıfları bulmak için dosyanın üzerinden ayrıştırmak değil - gerektiği gibi kesinlikle bulunuyor.