Giriş

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.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top