Akımlar, ortak bir işlev ve kullanım kümesini paylaşan dosya, ağ, veri sıkıştırması ve bunlarla ilgili diğer işlemleri genelleştirmenin bir yolu olarak PHP 4.3.0 ile devreye girmiştir. En basit tanımıyla, bir akım akışkan bir davranış gösteren bir özkaynak nesnesidir. Yani, akımlar doğrusal anlamda okunup yazılabilir ve akım içindeki keyfi konumlara gitmek (fseek()) mümkün olabilir.
Bir sarmalayıcı, akıma belli bir protokolü veya kodlamayı nasıl ele alacağını söyleyen bir koddur. Örneğin, http sarmalayıcısı bir URL'nin, bir uzak sunucudaki bir dosya için nasıl, bir HTTP/1.0 isteğine dönüştürüleceğini bilir. PHP'de öntanımlı olarak, bir çok yerleşik sarmalayıcı vardır (bak: Supported Protocols and Wrappers). Ayrıca, stream_wrapper_register() işlevi kullanılarak veya Akımlarla Çalışmak bölümündeki programlama arayüzünü kullanarak bir eklenti üzerinden doğrudan doğruya özel sarmalayıcılar eklenebilir. PHP'ye her çeşit sarmalayıcı eklenebileceğinden bunlarla yapılabileceklerin bir sınırı yoktur. Kurulumunuzda desteklenen sarmalayıcıların tam bir listesini edinmek için stream_get_wrappers() işlevini kullanın.
Bir akıma şöyle başvurulur:
şema
://hedef
şema
(string) - Kullanılacak
sarmalayıcının ismidir. file, http, https, ftp, ftps,
compress.zlib, compress.bz2 ve php bu
sarmalayıcılardan bazılarıdır. PHP'de yerleşik olarak bulunan
sarmalayıcıların listesini Supported Protocols and Wrappers altında
bulabilirsiniz. Hiçbir sarmalayıcı belirtilmediği takdirde işlev
öntanımlısı (genellikle file://) kullanılır.
hedef
- Kullanılan sarmalayıcıya bağlıdır. Dosya
sistemi ile ilgili sarmalayıcılar için genellikle istenen dosyanın
bulunduğu dosya yolu ve dosyanın isminden oluşur. Ağ ile ilgili
sarmalayıcılarda ise bir konak ismine eklenen bir dosya yolu
kullanılır. Yerleşik sarmalayıcıların hedefleri ile ilgili açıklamalar
için Supported Protocols and Wrappers bölümüne bakınız.
Bilginize:
PHP kaynak kodunda akımların kullanımı hakkında bilgi edinmek için PHP Eklenti Yazarları için Akım Arayüzü bölümüne bakınız.